[Debian-astro-commits] [cpl] 01/03: New upstream version 6.6.1

Ole Streicher olebole at moszumanska.debian.org
Wed Jul 22 11:35:31 UTC 2015


This is an automated email from the git hooks/post-receive script.

olebole pushed a commit to branch debian
in repository cpl.

commit 28b8959fe9425a05a5fdca43641fde312942eab4
Author: Ole Streicher <debian at liska.ath.cx>
Date:   Wed Jul 22 13:29:30 2015 +0200

    New upstream version 6.6.1
---
 ChangeLog                                          |   56 +
 Doxyfile.in                                        |  321 +-
 Makefile.in                                        |   59 +-
 README                                             |    2 +-
 aclocal.m4                                         |   67 +-
 admin/compile                                      |    2 +-
 admin/config.guess                                 |  173 +-
 admin/config.sub                                   |   36 +-
 admin/depcomp                                      |    2 +-
 admin/install-sh                                   |  366 +--
 admin/ltmain.sh                                    |  143 +-
 admin/missing                                      |    2 +-
 admin/test-driver                                  |   15 +-
 configure                                          |  582 +++-
 configure.ac                                       |    4 +-
 cplcore/Makefile.in                                |   26 +-
 cplcore/cpl_column.c                               |   57 +-
 cplcore/cpl_mpfit.c                                |    2 +-
 cplcore/cpl_propertylist.c                         |    2 +-
 cplcore/cpl_table.c                                | 3368 +-------------------
 cplcore/tests/Makefile.in                          |   27 +-
 cpldfs/Makefile.in                                 |   26 +-
 cpldfs/tests/Makefile.in                           |   27 +-
 cpldrs/Makefile.in                                 |   26 +-
 cpldrs/cpl_fft.c                                   |    4 +-
 cpldrs/tests/Makefile.in                           |   27 +-
 cpljava/Makefile.in                                |   24 +-
 cplui/Makefile.in                                  |   26 +-
 cplui/tests/Makefile.in                            |   27 +-
 html/annotated.html                                |    2 +-
 html/classes.html                                  |    2 +-
 html/deprecated.html                               |    2 +-
 html/dir_0893a83ae506d6342ff4de074eaf5145.html     |    2 +-
 html/dir_283883d147ab9a845d7032d17e09a122.html     |    2 +-
 html/dir_5cd28bf58103222faf21a5533c3a1fe9.html     |    2 +-
 html/dir_d94ae846f16019cf15b4979bbb4258a2.html     |    2 +-
 html/functions.html                                |    2 +-
 html/functions_vars.html                           |    2 +-
 html/group__cpl__apertures.html                    |    2 +-
 html/group__cpl__array.html                        |    2 +-
 html/group__cpl__bivector.html                     |    2 +-
 html/group__cpl__detector.html                     |    2 +-
 html/group__cpl__dfs.html                          |    2 +-
 html/group__cpl__error.html                        |    2 +-
 html/group__cpl__errorstate.html                   |    2 +-
 html/group__cpl__fft.html                          |    2 +-
 html/group__cpl__filter.html                       |    2 +-
 html/group__cpl__fit.html                          |    2 +-
 html/group__cpl__fits.html                         |    2 +-
 html/group__cpl__frame.html                        |    2 +-
 html/group__cpl__framedata.html                    |    2 +-
 html/group__cpl__frameset.html                     |    2 +-
 html/group__cpl__frameset__io.html                 |    2 +-
 html/group__cpl__frameset__iterator.html           |    2 +-
 html/group__cpl__geom__img.html                    |    2 +-
 html/group__cpl__image.html                        |    2 +-
 html/group__cpl__imagelist.html                    |    2 +-
 html/group__cpl__init.html                         |    2 +-
 html/group__cpl__io.html                           |    2 +-
 html/group__cpl__mask.html                         |    2 +-
 html/group__cpl__math.html                         |    2 +-
 html/group__cpl__matrix.html                       |    2 +-
 html/group__cpl__memory.html                       |    2 +-
 html/group__cpl__msg.html                          |    2 +-
 html/group__cpl__multiframe.html                   |    2 +-
 html/group__cpl__parameter.html                    |    2 +-
 html/group__cpl__parameterlist.html                |    2 +-
 html/group__cpl__photom.html                       |    2 +-
 html/group__cpl__plot.html                         |    2 +-
 html/group__cpl__plugin.html                       |    2 +-
 html/group__cpl__pluginlist.html                   |    2 +-
 html/group__cpl__polynomial.html                   |    2 +-
 html/group__cpl__ppm.html                          |    2 +-
 html/group__cpl__property.html                     |    2 +-
 html/group__cpl__propertylist.html                 |    4 +-
 html/group__cpl__recipe.html                       |    2 +-
 html/group__cpl__recipeconfig.html                 |    2 +-
 html/group__cpl__recipedefine.html                 |    2 +-
 html/group__cpl__regex.html                        |    2 +-
 html/group__cpl__stats.html                        |    2 +-
 html/group__cpl__table.html                        |   14 +-
 html/group__cpl__test.html                         |    2 +-
 html/group__cpl__type.html                         |    4 +-
 html/group__cpl__vector.html                       |    2 +-
 html/group__cpl__version.html                      |    2 +-
 html/group__cpl__wcs.html                          |    2 +-
 html/group__cpl__wlcalib.html                      |    2 +-
 html/index.html                                    |    2 +-
 html/modules.html                                  |    2 +-
 html/pages.html                                    |    2 +-
 html/struct__cpl__framedata__-members.html         |    2 +-
 html/struct__cpl__framedata__.html                 |    2 +-
 html/struct__cpl__plugin__-members.html            |    2 +-
 html/struct__cpl__plugin__.html                    |    2 +-
 html/struct__cpl__recipe__-members.html            |    2 +-
 html/struct__cpl__recipe__.html                    |    2 +-
 libcext/ChangeLog                                  |   23 +
 libcext/Doxyfile.in                                |   69 +-
 libcext/Makefile.in                                |   59 +-
 libcext/NEWS                                       |    4 +
 libcext/acinclude.m4                               |    2 +-
 libcext/aclocal.m4                                 |   67 +-
 libcext/admin/compile                              |    2 +-
 libcext/admin/config.guess                         |  173 +-
 libcext/admin/config.sub                           |   36 +-
 libcext/admin/depcomp                              |    2 +-
 libcext/admin/install-sh                           |  366 +--
 libcext/admin/ltmain.sh                            |  143 +-
 libcext/admin/missing                              |    2 +-
 libcext/admin/test-driver                          |   15 +-
 libcext/cext/Makefile.in                           |   26 +-
 libcext/cext/cxdeque.c                             |   20 +-
 libcext/cext/cxutils.c                             |    2 +-
 libcext/configure                                  |  518 ++-
 libcext/configure.ac                               |    4 +-
 libcext/html/cxconfig_8h_source.html               |    2 +-
 libcext/html/cxdeque_8h_source.html                |   60 +-
 libcext/html/cxfileutils_8h_source.html            |    2 +-
 libcext/html/cxlist_8h_source.html                 |    2 +-
 libcext/html/cxmacros_8h_source.html               |    2 +-
 libcext/html/cxmap_8h_source.html                  |    2 +-
 libcext/html/cxmemory_8h_source.html               |    2 +-
 libcext/html/cxmessages_8h_source.html             |    2 +-
 libcext/html/cxmultimap_8h_source.html             |    2 +-
 libcext/html/cxslist_8h_source.html                |    2 +-
 libcext/html/cxstring_8h_source.html               |    2 +-
 libcext/html/cxstrutils_8h_source.html             |    2 +-
 libcext/html/cxthread_8h_source.html               |    2 +-
 libcext/html/cxtree_8h_source.html                 |    2 +-
 libcext/html/cxtypes_8h_source.html                |    2 +-
 libcext/html/cxutils_8h_source.html                |    2 +-
 .../html/dir_c2959b2ad5731f3b356ab222d87e802c.html |    2 +-
 libcext/html/files.html                            |    2 +-
 libcext/html/group__cxdeque.html                   |    2 +-
 libcext/html/group__cxfileutils.html               |    2 +-
 libcext/html/group__cxlist.html                    |    2 +-
 libcext/html/group__cxmap.html                     |    2 +-
 libcext/html/group__cxmemory.html                  |    2 +-
 libcext/html/group__cxmessages.html                |    2 +-
 libcext/html/group__cxmultimap.html                |    2 +-
 libcext/html/group__cxslist.html                   |    2 +-
 libcext/html/group__cxstring.html                  |    2 +-
 libcext/html/group__cxstrutils.html                |    2 +-
 libcext/html/group__cxtree.html                    |    2 +-
 libcext/html/group__cxutils.html                   |    2 +-
 libcext/html/index.html                            |    2 +-
 libcext/html/modules.html                          |    2 +-
 libcext/html/snprintf_8h_source.html               |    2 +-
 libcext/m4/eso.m4                                  |    6 +-
 libcext/m4/libtool.m4                              |  534 +++-
 libcext/m4/ltoptions.m4                            |   57 +-
 libcext/m4/ltsugar.m4                              |    2 +-
 libcext/m4/ltversion.m4                            |   12 +-
 libcext/m4/lt~obsolete.m4                          |    2 +-
 libcext/tests/Makefile.in                          |   27 +-
 libltdl/Makefile.am                                |   22 +-
 libltdl/Makefile.in                                |   90 +-
 libltdl/README                                     |    2 +-
 libltdl/aclocal.m4                                 |   67 +-
 libltdl/config-h.in                                |    3 +
 libltdl/configure                                  |  663 +++-
 libltdl/configure.ac                               |    2 +-
 libltdl/libltdl/lt__alloc.h                        |    2 +-
 libltdl/{argz_.h => libltdl/lt__argz_.h}           |    2 +-
 libltdl/libltdl/lt__dirent.h                       |    2 +-
 libltdl/libltdl/lt__glibc.h                        |    9 +-
 libltdl/libltdl/lt__private.h                      |    2 +-
 libltdl/libltdl/lt__strl.h                         |    2 +-
 libltdl/libltdl/lt_dlloader.h                      |    2 +-
 libltdl/libltdl/lt_error.h                         |    2 +-
 libltdl/libltdl/lt_system.h                        |    2 +-
 libltdl/libltdl/slist.h                            |    2 +-
 libltdl/loaders/dld_link.c                         |   12 +-
 libltdl/loaders/dlopen.c                           |   50 +-
 libltdl/loaders/dyld.c                             |    6 +-
 libltdl/loaders/load_add_on.c                      |   12 +-
 libltdl/loaders/loadlibrary.c                      |   12 +-
 libltdl/loaders/preopen.c                          |   14 +-
 libltdl/loaders/shl_load.c                         |   12 +-
 libltdl/lt__alloc.c                                |    2 +-
 libltdl/{argz.c => lt__argz.c}                     |    6 +-
 libltdl/lt__dirent.c                               |    2 +-
 libltdl/lt__strl.c                                 |    2 +-
 libltdl/lt_dlloader.c                              |    2 +-
 libltdl/lt_error.c                                 |    2 +-
 libltdl/ltdl.c                                     |    4 +-
 libltdl/ltdl.h                                     |    2 +-
 libltdl/slist.c                                    |    2 +-
 m4/cpl.m4                                          |   40 +-
 m4/libtool.m4                                      |  534 +++-
 m4/{argz.m4 => ltargz.m4}                          |   23 +-
 m4/ltdl.m4                                         |  123 +-
 m4/ltoptions.m4                                    |   57 +-
 m4/ltsugar.m4                                      |    2 +-
 m4/ltversion.m4                                    |   12 +-
 m4/lt~obsolete.m4                                  |    2 +-
 196 files changed, 4540 insertions(+), 5217 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 64c39a6..9f1b033 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+2015-07-22  rpalsa
+
+	* cplcore/cpl_propertylist.c: cpl_propertylist_dump(): Fix format
+	  conversion specifier.
+
+2015-07-20  rpalsa
+
+	* m4/cpl.m4: CPL_CHECK_WCS(): Also add extra wcslib directory
+	  component to path taken from WCSDIR.
+	* cpldrs/cpl_fft.c: cpl_fft_image_(): Add suggested parentheses.
+	* m4/cpl.m4: CPL_CHECK_CFITSIO(), CPL_CHECK_WCS(),
+	  CPL_CHECK_FFTW(): Remove locally created file conftest.out after
+	  tests are finished.
+	* m4/cpl.m4: CPL_CHECK_WCS(): Add extra wcslib directory component
+	  to path given by with-wcs option.
+	* m4/cpl.m4: CPL_CHECK_WCS(): Remove extra wcslib directory
+	  component.
+	* ChangeLog: Updated for release 6.6.1
+	* .: Update libcext externals revision
+
+2015-06-26  rpalsa
+
+	* .: Update libcext externals revision
+	* cplcore/cpl_table.c: cpl_table_dump(): Use correct accessor when
+	  getting values from a CPL_TYPE_LONG_LONG columns.
+	  cpl_table_extract_selected(): Add missing cases for
+	  CPL_TYPE_LONG_LONG, and complex columns.
+	  _cpl_table_write_column(): Fix incorrect bitwise and replaced
+	  with logical and (PIPE-5824). _cpl_table_write_column_array():
+	  Fix and document possible null pointer dereference (PIPE-5823).
+
+2015-05-22  rpalsa
+
+	* cplcore/cpl_column.c: cpl_column_set_<type>(): Fix wrong error
+	  code return in case the argument checks fail.
+
+2015-05-07  rpalsa
+
+	* cplcore/cpl_table.c: _cpl_table_save_legacy(): Fix possible
+	  buffer overrun. cpl_table_overload_window(): Add (redundant)
+	  error check after calling cpl_io_fits_open_diskfile().
+	* cplcore/cpl_mpfit.c: _cpl_mp_fdjac2(): Fix wrong type in call of
+	  sizeof.
+
+2015-04-27  rpalsa
+
+	* libltdl, m4: Updated svn:ignore
+
+2015-03-06  rpalsa
+
+	* configure.ac: Update package and library for 6.6.1
+	* cplcore/cpl_table.c: cpl_table_save(): Add CPL_IO_APPEND mode
+	  related documentation.
+	* Doxyfile.in: Updated. Set COMPACT_LATEX to NO in order to use
+	  documentclass book instead of article.
+
 2015-03-04  rpalsa
 
 	* configure.ac: Package version updated.
diff --git a/Doxyfile.in b/Doxyfile.in
index 23f823e..f59d423 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.8.6
+# Doxyfile 1.8.9.1
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project.
@@ -46,10 +46,10 @@ PROJECT_NUMBER         = @VERSION@
 
 PROJECT_BRIEF          =
 
-# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
-# the documentation. The maximum height of the logo should not exceed 55 pixels
-# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
-# to the output directory.
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
 
 PROJECT_LOGO           =
 
@@ -60,7 +60,7 @@ PROJECT_LOGO           =
 
 OUTPUT_DIRECTORY       = .
 
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
 # directories (in 2 levels) under the output directory of each output format and
 # will distribute the generated files over these directories. Enabling this
 # option can be useful when feeding doxygen a huge amount of source files, where
@@ -70,6 +70,14 @@ OUTPUT_DIRECTORY       = .
 
 CREATE_SUBDIRS         = NO
 
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
 # documentation generated by doxygen is written. Doxygen will use this
 # information to generate all constant output in the proper language.
@@ -85,14 +93,14 @@ CREATE_SUBDIRS         = NO
 
 OUTPUT_LANGUAGE        = English
 
-# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
 # descriptions after the members that are listed in the file and class
 # documentation (similar to Javadoc). Set to NO to disable this.
 # The default value is: YES.
 
 BRIEF_MEMBER_DESC      = YES
 
-# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
 # description of a member or function before the detailed description
 #
 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
@@ -127,7 +135,7 @@ ALWAYS_DETAILED_SEC    = YES
 
 INLINE_INHERITED_MEMB  = NO
 
-# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
 # before files name in the file list and in the header files. If set to NO the
 # shortest path that makes the file name unique will be used
 # The default value is: YES.
@@ -197,9 +205,9 @@ MULTILINE_CPP_IS_BRIEF = NO
 
 INHERIT_DOCS           = YES
 
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
-# new page for each member. If set to NO, the documentation of a member will be
-# part of the file/class/namespace that contains it.
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
 # The default value is: NO.
 
 SEPARATE_MEMBER_PAGES  = NO
@@ -262,11 +270,14 @@ OPTIMIZE_OUTPUT_VHDL   = NO
 # extension. Doxygen has a built-in mapping, but you can override or extend it
 # using this tag. The format is ext=language, where ext is a file extension, and
 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C.
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
 #
-# Note For files without extension you can use no_extension as a placeholder.
+# Note: For files without extension you can use no_extension as a placeholder.
 #
 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
 # the files are not read by doxygen.
@@ -285,8 +296,8 @@ MARKDOWN_SUPPORT       = YES
 
 # When enabled doxygen tries to link words that correspond to documented
 # classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by by putting a % sign in front of the word
-# or globally by setting AUTOLINK_SUPPORT to NO.
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
 # The default value is: YES.
 
 AUTOLINK_SUPPORT       = YES
@@ -326,7 +337,7 @@ SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 
 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
+# tag is set to YES then doxygen will reuse the documentation of the first
 # member in the group (if any) for the other members of the group. By default
 # all members of a group must be documented explicitly.
 # The default value is: NO.
@@ -391,7 +402,7 @@ LOOKUP_CACHE_SIZE      = 0
 # Build related configuration options
 #---------------------------------------------------------------------------
 
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
 # documentation are documented, even if no documentation was available. Private
 # class members and static file members will be hidden unless the
 # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
@@ -401,35 +412,35 @@ LOOKUP_CACHE_SIZE      = 0
 
 EXTRACT_ALL            = NO
 
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
 # be included in the documentation.
 # The default value is: NO.
 
 EXTRACT_PRIVATE        = NO
 
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
 # scope will be included in the documentation.
 # The default value is: NO.
 
 EXTRACT_PACKAGE        = NO
 
-# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
 # included in the documentation.
 # The default value is: NO.
 
 EXTRACT_STATIC         = NO
 
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
 # only classes defined in header files are included. Does not have any effect
 # for Java sources.
 # The default value is: YES.
 
 EXTRACT_LOCAL_CLASSES  = YES
 
-# This flag is only useful for Objective-C code. When set to YES local methods,
+# This flag is only useful for Objective-C code. If set to YES, local methods,
 # which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO only methods in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
 # included.
 # The default value is: NO.
 
@@ -454,21 +465,21 @@ HIDE_UNDOC_MEMBERS     = YES
 
 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
 # undocumented classes that are normally visible in the class hierarchy. If set
-# to NO these classes will be included in the various overviews. This option has
-# no effect if EXTRACT_ALL is enabled.
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
 # The default value is: NO.
 
 HIDE_UNDOC_CLASSES     = YES
 
 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO these declarations will be
+# (class|struct|union) declarations. If set to NO, these declarations will be
 # included in the documentation.
 # The default value is: NO.
 
 HIDE_FRIEND_COMPOUNDS  = NO
 
 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO these
+# documentation blocks found inside the body of a function. If set to NO, these
 # blocks will be appended to the function's detailed documentation block.
 # The default value is: NO.
 
@@ -482,7 +493,7 @@ HIDE_IN_BODY_DOCS      = NO
 INTERNAL_DOCS          = NO
 
 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES upper-case letters are also
+# names in lower-case letters. If set to YES, upper-case letters are also
 # allowed. This is useful if you have classes or files whose names only differ
 # in case and if your file system supports case sensitive file names. Windows
 # and Mac users are advised to set this option to NO.
@@ -491,12 +502,19 @@ INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 
 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES the
+# their full class and namespace scopes in the documentation. If set to YES, the
 # scope will be hidden.
 # The default value is: NO.
 
 HIDE_SCOPE_NAMES       = NO
 
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
 # the files that are included by a file in the documentation of that file.
 # The default value is: YES.
@@ -524,14 +542,14 @@ INLINE_INFO            = NO
 
 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
 # (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order.
+# name. If set to NO, the members will appear in declaration order.
 # The default value is: YES.
 
 SORT_MEMBER_DOCS       = YES
 
 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
 # descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order. Note that
+# name. If set to NO, the members will appear in declaration order. Note that
 # this will also influence the order of the classes in the class list.
 # The default value is: NO.
 
@@ -576,27 +594,25 @@ SORT_BY_SCOPE_NAME     = NO
 
 STRICT_PROTO_MATCHING  = NO
 
-# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
-# todo list. This list is created by putting \todo commands in the
-# documentation.
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
 # The default value is: YES.
 
 GENERATE_TODOLIST      = YES
 
-# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
-# test list. This list is created by putting \test commands in the
-# documentation.
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
 # The default value is: YES.
 
 GENERATE_TESTLIST      = YES
 
-# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
 # list. This list is created by putting \bug commands in the documentation.
 # The default value is: YES.
 
 GENERATE_BUGLIST       = YES
 
-# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
 # the deprecated list. This list is created by putting \deprecated commands in
 # the documentation.
 # The default value is: YES.
@@ -621,8 +637,8 @@ ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 30
 
 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES the list
-# will mention the files that were used to generate the documentation.
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
 # The default value is: YES.
 
 SHOW_USED_FILES        = NO
@@ -670,8 +686,7 @@ LAYOUT_FILE            =
 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
 # For LaTeX the style of the bibliography can be controlled using
 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. Do not use file names with spaces, bibtex cannot handle them. See
-# also \cite for info how to create references.
+# search path. See also \cite for info how to create references.
 
 CITE_BIB_FILES         =
 
@@ -687,7 +702,7 @@ CITE_BIB_FILES         =
 QUIET                  = NO
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
 # this implies that the warnings are on.
 #
 # Tip: Turn warnings on while writing the documentation.
@@ -695,7 +710,7 @@ QUIET                  = NO
 
 WARNINGS               = YES
 
-# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
 # will automatically be disabled.
 # The default value is: YES.
@@ -712,8 +727,8 @@ WARN_IF_DOC_ERROR      = YES
 
 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
 # are documented, but have no documentation for their parameters or return
-# value. If set to NO doxygen will only warn about wrong or incomplete parameter
-# documentation, but not about the absence of documentation.
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
 # The default value is: NO.
 
 WARN_NO_PARAMDOC       = NO
@@ -866,7 +881,7 @@ INPUT_FILTER           =
 FILTER_PATTERNS        =
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER ) will also be used to filter the input files that are used for
+# INPUT_FILTER) will also be used to filter the input files that are used for
 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
 # The default value is: NO.
 
@@ -926,7 +941,7 @@ REFERENCED_BY_RELATION = YES
 REFERENCES_RELATION    = YES
 
 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
 # link to the documentation.
 # The default value is: YES.
@@ -1003,7 +1018,7 @@ IGNORE_PREFIX          =
 # Configuration options related to the HTML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
 # The default value is: YES.
 
 GENERATE_HTML          = YES
@@ -1065,13 +1080,15 @@ HTML_FOOTER            =
 
 HTML_STYLESHEET        =
 
-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
-# defined cascading style sheet that is included after the standard style sheets
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
 # created by doxygen. Using this option one can overrule certain style aspects.
 # This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefor more robust against future updates.
-# Doxygen will copy the style sheet file to the output directory. For an example
-# see the documentation.
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_EXTRA_STYLESHEET  = @top_srcdir@/doxygen/cpl.css
@@ -1087,7 +1104,7 @@ HTML_EXTRA_STYLESHEET  = @top_srcdir@/doxygen/cpl.css
 HTML_EXTRA_FILES       =
 
 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
+# will adjust the colors in the style sheet and background images according to
 # this color. Hue is specified as an angle on a colorwheel, see
 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
 # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
@@ -1215,28 +1232,29 @@ GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 
 # The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
 # doxygen will try to run the HTML help compiler on the generated index.hhp.
 # The file has to be specified with full path.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 HHC_LOCATION           =
 
-# The GENERATE_CHI flag controls if a separate .chi index file is generated (
-# YES) or that it should be included in the master .chm file ( NO).
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
 # The default value is: NO.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 GENERATE_CHI           = NO
 
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
 # and project file content.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
 CHM_INDEX_ENCODING     =
 
-# The BINARY_TOC flag controls whether a binary table of contents is generated (
-# YES) or a normal table of contents ( NO) in the .chm file.
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
 # The default value is: NO.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
@@ -1349,7 +1367,7 @@ DISABLE_INDEX          = NO
 # index structure (just like the one that is generated for HTML Help). For this
 # to work a browser that supports JavaScript, DHTML, CSS and frames is required
 # (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
 # further fine-tune the look of the index. As an example, the default style
 # sheet generated by doxygen has an example that shows how to put an image at
 # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
@@ -1377,7 +1395,7 @@ ENUM_VALUES_PER_LINE   = 1
 
 TREEVIEW_WIDTH         = 250
 
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
 # external symbols imported via tag files in a separate window.
 # The default value is: NO.
 # This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1406,7 +1424,7 @@ FORMULA_TRANSPARENT    = YES
 
 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
 # http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
 # installed or if you want to formulas look prettier in the HTML output. When
 # enabled you may also need to install MathJax separately and configure the path
 # to it using the MATHJAX_RELPATH option.
@@ -1476,11 +1494,11 @@ SEARCHENGINE           = NO
 
 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
 # implemented using a web server instead of a web client using Javascript. There
-# are two flavours of web server based searching depending on the
-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
-# searching and an index file used by the script. When EXTERNAL_SEARCH is
-# enabled the indexing and searching needs to be provided by external tools. See
-# the section "External Indexing and Searching" for details.
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
 # The default value is: NO.
 # This tag requires that the tag SEARCHENGINE is set to YES.
 
@@ -1492,7 +1510,7 @@ SERVER_BASED_SEARCH    = NO
 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
 # search results.
 #
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# Doxygen ships with an example indexer (doxyindexer) and search engine
 # (doxysearch.cgi) which are based on the open source search engine library
 # Xapian (see: http://xapian.org/).
 #
@@ -1505,7 +1523,7 @@ EXTERNAL_SEARCH        = NO
 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
 # which will return the search results when EXTERNAL_SEARCH is enabled.
 #
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# Doxygen ships with an example indexer (doxyindexer) and search engine
 # (doxysearch.cgi) which are based on the open source search engine library
 # Xapian (see: http://xapian.org/). See the section "External Indexing and
 # Searching" for details.
@@ -1543,7 +1561,7 @@ EXTRA_SEARCH_MAPPINGS  =
 # Configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
 # The default value is: YES.
 
 GENERATE_LATEX         = NO
@@ -1574,13 +1592,13 @@ LATEX_CMD_NAME         = latex
 
 MAKEINDEX_CMD_NAME     = makeindex
 
-# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
 # documents. This may be useful for small projects and may help to save some
 # trees in general.
 # The default value is: NO.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
-COMPACT_LATEX          = YES
+COMPACT_LATEX          = NO
 
 # The PAPER_TYPE tag can be used to set the paper type that is used by the
 # printer.
@@ -1608,23 +1626,36 @@ EXTRA_PACKAGES         = times
 #
 # Note: Only use a user-defined header if you know what you are doing! The
 # following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
-# replace them by respectively the title of the page, the current date and time,
-# only the current date, the version number of doxygen, the project name (see
-# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_HEADER           =
 
 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
 # generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer.
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
 #
 # Note: Only use a user-defined footer if you know what you are doing!
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_FOOTER           =
 
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
 # other source files which should be copied to the LATEX_OUTPUT output
 # directory. Note that the files will be copied as-is; there are no commands or
@@ -1642,8 +1673,8 @@ LATEX_EXTRA_FILES      =
 
 PDF_HYPERLINKS         = NO
 
-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES to get a
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
 # higher quality PDF documentation.
 # The default value is: YES.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
@@ -1688,7 +1719,7 @@ LATEX_BIB_STYLE        = plain
 # Configuration options related to the RTF output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
 # RTF output is optimized for Word 97 and may not look too pretty with other RTF
 # readers/editors.
 # The default value is: NO.
@@ -1703,7 +1734,7 @@ GENERATE_RTF           = NO
 
 RTF_OUTPUT             =
 
-# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
 # documents. This may be useful for small projects and may help to save some
 # trees in general.
 # The default value is: NO.
@@ -1740,11 +1771,21 @@ RTF_STYLESHEET_FILE    =
 
 RTF_EXTENSIONS_FILE    =
 
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE        = NO
+
 #---------------------------------------------------------------------------
 # Configuration options related to the man page output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
 # classes and files.
 # The default value is: NO.
 
@@ -1768,6 +1809,13 @@ MAN_OUTPUT             =
 
 MAN_EXTENSION          =
 
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             =
+
 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
 # will generate one additional man file for each entity documented in the real
 # man page(s). These additional files only source the real man page, but without
@@ -1781,7 +1829,7 @@ MAN_LINKS              = NO
 # Configuration options related to the XML output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
 # captures the structure of the code including all documentation.
 # The default value is: NO.
 
@@ -1795,19 +1843,7 @@ GENERATE_XML           = NO
 
 XML_OUTPUT             = xml
 
-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
 # listings (including syntax highlighting and cross-referencing information) to
 # the XML output. Note that enabling this will significantly increase the size
 # of the XML output.
@@ -1820,7 +1856,7 @@ XML_PROGRAMLISTING     = YES
 # Configuration options related to the DOCBOOK output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
 # that can be used to generate PDF.
 # The default value is: NO.
 
@@ -1834,14 +1870,23 @@ GENERATE_DOCBOOK       = NO
 
 DOCBOOK_OUTPUT         = docbook
 
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
 #---------------------------------------------------------------------------
 # Configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
-# Definitions (see http://autogen.sf.net) file that captures the structure of
-# the code including all documentation. Note that this feature is still
-# experimental and incomplete at the moment.
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sf.net) file that captures the
+# structure of the code including all documentation. Note that this feature is
+# still experimental and incomplete at the moment.
 # The default value is: NO.
 
 GENERATE_AUTOGEN_DEF   = NO
@@ -1850,7 +1895,7 @@ GENERATE_AUTOGEN_DEF   = NO
 # Configuration options related to the Perl module output
 #---------------------------------------------------------------------------
 
-# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
 # file that captures the structure of the code including all documentation.
 #
 # Note that this feature is still experimental and incomplete at the moment.
@@ -1858,7 +1903,7 @@ GENERATE_AUTOGEN_DEF   = NO
 
 GENERATE_PERLMOD       = NO
 
-# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
 # output from the Perl module output.
 # The default value is: NO.
@@ -1866,9 +1911,9 @@ GENERATE_PERLMOD       = NO
 
 PERLMOD_LATEX          = NO
 
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
 # formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO the
+# understand what is going on. On the other hand, if this tag is set to NO, the
 # size of the Perl module output will be much smaller and Perl will parse it
 # just the same.
 # The default value is: YES.
@@ -1888,14 +1933,14 @@ PERLMOD_MAKEVAR_PREFIX =
 # Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 
-# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
 # C-preprocessor directives found in the sources and include files.
 # The default value is: YES.
 
 ENABLE_PREPROCESSING   = YES
 
-# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
-# in the source code. If set to NO only conditional compilation will be
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
 # performed. Macro expansion can be done in a controlled way by setting
 # EXPAND_ONLY_PREDEF to YES.
 # The default value is: NO.
@@ -1911,7 +1956,7 @@ MACRO_EXPANSION        = YES
 
 EXPAND_ONLY_PREDEF     = YES
 
-# If the SEARCH_INCLUDES tag is set to YES the includes files in the
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
 # INCLUDE_PATH will be searched if a #include is found.
 # The default value is: YES.
 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
@@ -1959,9 +2004,9 @@ PREDEFINED             = "CPL_BEGIN_DECLS= " \
 EXPAND_AS_DEFINED      = CPL_TYPE_ADD
 
 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all refrences to function-like macros that are alone on a line, have an
-# all uppercase name, and do not end with a semicolon. Such function macros are
-# typically used for boiler-plate code, and will confuse the parser if not
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
 # removed.
 # The default value is: YES.
 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
@@ -1981,7 +2026,7 @@ SKIP_FUNCTION_MACROS   = YES
 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
 # section "Linking to external documentation" for more information about the use
 # of tag files.
-# Note: Each tag file must have an unique name (where the name does NOT include
+# Note: Each tag file must have a unique name (where the name does NOT include
 # the path). If a tag file is not located in the directory in which doxygen is
 # run, you must also specify the path to the tagfile here.
 
@@ -1993,20 +2038,21 @@ TAGFILES               =
 
 GENERATE_TAGFILE       =
 
-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
-# class index. If set to NO only the inherited external classes will be listed.
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
 # The default value is: NO.
 
 ALLEXTERNALS           = NO
 
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
-# the modules index. If set to NO, only the current project's groups will be
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
 # listed.
 # The default value is: YES.
 
 EXTERNAL_GROUPS        = YES
 
-# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
 # the related pages index. If set to NO, only the current project's pages will
 # be listed.
 # The default value is: YES.
@@ -2023,7 +2069,7 @@ PERL_PATH              =
 # Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 
-# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
 # NO turns the diagrams off. Note that this option also works with HAVE_DOT
 # disabled, but it is recommended to install and use dot, since it yields more
@@ -2048,7 +2094,7 @@ MSCGEN_PATH            =
 
 DIA_PATH               =
 
-# If set to YES, the inheritance and collaboration graphs will hide inheritance
+# If set to YES the inheritance and collaboration graphs will hide inheritance
 # and usage relations if the target is undocumented or is not a class.
 # The default value is: YES.
 
@@ -2073,7 +2119,7 @@ HAVE_DOT               = NO
 
 DOT_NUM_THREADS        = 0
 
-# When you want a differently looking font n the dot files that doxygen
+# When you want a differently looking font in the dot files that doxygen
 # generates you can specify the font name using DOT_FONTNAME. You need to make
 # sure dot is able to find the font, which can be done by putting it in a
 # standard location or by setting the DOTFONTPATH environment variable or by
@@ -2121,7 +2167,7 @@ COLLABORATION_GRAPH    = YES
 
 GROUP_GRAPHS           = YES
 
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
 # collaboration diagrams in a style similar to the OMG's Unified Modeling
 # Language.
 # The default value is: NO.
@@ -2254,6 +2300,19 @@ MSCFILE_DIRS           =
 
 DIAFILE_DIRS           =
 
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH      =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH  =
+
 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
 # that will be shown in the graph. If the number of nodes in a graph becomes
 # larger than this value, doxygen will truncate the graph, which is visualized
@@ -2290,7 +2349,7 @@ MAX_DOT_GRAPH_DEPTH    = 0
 
 DOT_TRANSPARENT        = NO
 
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
 # files in one run (i.e. multiple -o and -T options on the command line). This
 # makes dot run faster, but since only newer versions of dot (>1.8.10) support
 # this, this feature is disabled by default.
@@ -2307,7 +2366,7 @@ DOT_MULTI_TARGETS      = NO
 
 GENERATE_LEGEND        = YES
 
-# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
 # files that are used to generate the various graphs.
 # The default value is: YES.
 # This tag requires that the tag HAVE_DOT is set to YES.
diff --git a/Makefile.in b/Makefile.in
index 7d8a37f..5a2ce9f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,16 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/admin/doxygen.am $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/configure \
-	$(am__configure_deps) $(srcdir)/config.h.in \
-	$(srcdir)/Makefile.purify.in $(srcdir)/Doxyfile.in \
-	$(include_HEADERS) AUTHORS COPYING ChangeLog INSTALL NEWS \
-	README TODO admin/compile admin/config.guess admin/config.sub \
-	admin/depcomp admin/install-sh admin/missing admin/ltmain.sh \
-	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
-	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/install-sh \
-	$(top_srcdir)/admin/ltmain.sh $(top_srcdir)/admin/missing
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
@@ -98,6 +98,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(include_HEADERS) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -190,6 +192,15 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = libltdl @libcext@ cplcore cplui cpldrs cpldfs cpljava
+am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.purify.in $(srcdir)/config.h.in \
+	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
+	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/doxygen.am \
+	$(top_srcdir)/admin/install-sh $(top_srcdir)/admin/ltmain.sh \
+	$(top_srcdir)/admin/missing AUTHORS COPYING ChangeLog INSTALL \
+	NEWS README TODO admin/compile admin/config.guess \
+	admin/config.sub admin/depcomp admin/install-sh \
+	admin/ltmain.sh admin/missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -320,6 +331,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -446,7 +458,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -456,7 +467,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/admin/doxygen.am:
+$(top_srcdir)/admin/doxygen.am $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -707,15 +718,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -751,17 +762,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -944,6 +955,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-local
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-includeHEADERS uninstall-local
 
+.PRECIOUS: Makefile
+
 
 @MAINTAINER_MODE_TRUE at clean-local: clean-doxygen
 
diff --git a/README b/README
index 48b3593..9d10d1a 100644
--- a/README
+++ b/README
@@ -17,7 +17,7 @@ In this file:
 
 About CPL
 ---------
-This is version 6.6 of the ESO Common Pipeline libraries (CPL).
+This is version 6.6.1 of the ESO Common Pipeline libraries (CPL).
 
 This package includes libraries that are central to the development and
 execution of pipeline recipes as they are operated by ESO for all VLT
diff --git a/aclocal.m4 b/aclocal.m4
index c5a9661..4baa41e 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ 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'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # 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'
+[am__api_version='1.15'
 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], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_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
+[AM_AUTOMAKE_VERSION([1.15])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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[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.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -499,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <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.
+# We need awk for the "check" target (and possibly the TAP driver).  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
@@ -573,7 +572,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 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
@@ -602,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -645,7 +648,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -680,7 +683,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -730,7 +733,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -769,7 +772,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -798,7 +801,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -845,7 +848,7 @@ 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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -864,7 +867,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -945,7 +948,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1005,7 +1008,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1033,7 +1036,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1052,7 +1055,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/admin/compile b/admin/compile
index 531136b..a85b723 100755
--- a/admin/compile
+++ b/admin/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/admin/config.guess b/admin/config.guess
index 9afd676..6c32c86 100755
--- a/admin/config.guess
+++ b/admin/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-11-29'
+timestamp='2014-11-04'
 
 # 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 @@ timestamp='2013-11-29'
 # 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
 #
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+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."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
 	;;
 esac
 
@@ -579,8 +579,9 @@ EOF
 	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
@@ -826,7 +827,7 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -969,10 +970,10 @@ EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
+    or32:Linux:*:* | or1k*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
@@ -1371,154 +1372,6 @@ EOF
 	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
 
diff --git a/admin/config.sub b/admin/config.sub
index 61cb4bc..7ffe373 100755
--- a/admin/config.sub
+++ b/admin/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-10-01'
+timestamp='2014-12-03'
 
 # 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 @@ timestamp='2013-10-01'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+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."
@@ -283,8 +283,10 @@ case $basic_machine in
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -296,11 +298,11 @@ case $basic_machine in
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| 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 \
@@ -311,6 +313,7 @@ case $basic_machine in
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -325,6 +328,9 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -402,8 +408,10 @@ case $basic_machine in
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -415,6 +423,7 @@ case $basic_machine in
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -432,6 +441,7 @@ case $basic_machine in
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -769,6 +779,9 @@ case $basic_machine in
 		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
@@ -824,6 +837,10 @@ case $basic_machine in
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -1369,14 +1386,14 @@ case $os in
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -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* | -tirtos*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1594,9 +1611,6 @@ case $basic_machine in
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;
diff --git a/admin/depcomp b/admin/depcomp
index 4ebd5b3..fc98710 100755
--- a/admin/depcomp
+++ b/admin/depcomp
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 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
diff --git a/admin/install-sh b/admin/install-sh
index 377bb86..0b0fdcb 100755
--- a/admin/install-sh
+++ b/admin/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# 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
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@ 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.
@@ -97,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        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)
+        is_target_a_directory=always
+        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;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 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.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+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
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@ do
     # 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
+      if test "$is_target_a_directory" = never; 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'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,74 @@ do
   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;;
+        # 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"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +370,51 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      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/
+        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
+        # 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
@@ -472,15 +449,12 @@ do
 
     # 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 &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +467,24 @@ do
       # 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"
+        # 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
 
diff --git a/admin/ltmain.sh b/admin/ltmain.sh
index 555b763..0f0a2da 100644
--- a/admin/ltmain.sh
+++ b/admin/ltmain.sh
@@ -2,11 +2,11 @@
 ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
 ##               by inline-source v2014-01-03.01
 
-# libtool (GNU libtool) 2.4.3
+# libtool (GNU libtool) 2.4.6
 # Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 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.
 
@@ -31,8 +31,8 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.3
-package_revision=2.4.3
+VERSION=2.4.6
+package_revision=2.4.6
 
 
 ## ------ ##
@@ -64,12 +64,12 @@ package_revision=2.4.3
 # libraries, which are installed to $pkgauxdir.
 
 # Set a version string for this script.
-scriptversion=2014-01-03.01; # UTC
+scriptversion=2015-01-20.17; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 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.
 
@@ -192,7 +192,7 @@ func_path_progs ()
 
     _G_path_prog_max=0
     _G_path_prog_found=false
-    _G_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
     for _G_dir in $_G_PATH; do
       IFS=$_G_save_IFS
       test -z "$_G_dir" && _G_dir=.
@@ -1375,7 +1375,7 @@ scriptversion=2014-01-07.03; # UTC
 # A portable, pluggable option parser for Bourne shell.
 # Written by Gary V. Vaughan, 2010
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 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.
 
@@ -1977,7 +1977,7 @@ func_version ()
 # End:
 
 # Set a version string.
-scriptversion='(GNU libtool) 2.4.3'
+scriptversion='(GNU libtool) 2.4.6'
 
 
 # func_echo ARG...
@@ -2039,7 +2039,12 @@ usage_message="Options:
 "
 
 # Additional text appended to 'usage_message' in response to '--help'.
-long_help_message=$long_help_message"
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message
 
 MODE must be one of the following:
 
@@ -2063,13 +2068,15 @@ include the following information:
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.3
+       version:        $progname (GNU libtool) 2.4.6
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libtool at gnu.org>.
 GNU libtool home page: <http://www.gnu.org/software/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
+    exit 0
+}
 
 
 # func_lo2o OBJECT-NAME
@@ -2411,7 +2418,7 @@ libtool_validate_options ()
     case $host in
       # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
       # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2*)
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
         # don't eliminate duplications in $postdeps and $predeps
         opt_duplicate_compiler_generated_deps=:
         ;;
@@ -3730,7 +3737,8 @@ The following components of LINK-COMMAND are treated specially:
   -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
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
   -precious-files-regex REGEX
                     don't remove output files matching REGEX
   -release RELEASE  specify package release information
@@ -4312,6 +4320,13 @@ func_mode_install ()
 	      ;;
 	    esac
 	    ;;
+	  os2*)
+	    case $realname in
+	    *_dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
 	  esac
 	  if test -n "$tstripme" && test -n "$striplib"; then
 	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
@@ -5153,7 +5168,7 @@ func_extract_archives ()
 	      $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_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
@@ -6453,6 +6468,24 @@ func_win32_import_lib_p ()
     esac
 }
 
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
@@ -6511,6 +6544,7 @@ func_mode_link ()
     module=no
     no_install=no
     objs=
+    os2dllname=
     non_pic_objects=
     precious_files_regex=
     prefer_static_libs=no
@@ -6768,6 +6802,11 @@ func_mode_link ()
 	  prev=
 	  continue
 	  ;;
+	os2dllname)
+	  os2dllname=$arg
+	  prev=
+	  continue
+	  ;;
 	precious_regex)
 	  precious_files_regex=$arg
 	  prev=
@@ -7077,6 +7116,11 @@ func_mode_link ()
 	continue
 	;;
 
+      -os2dllname)
+	prev=os2dllname
+	continue
+	;;
+
       -o) prev=output ;;
 
       -precious-files-regex)
@@ -7240,6 +7284,25 @@ func_mode_link ()
         continue
         ;;
 
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+	  compiler_flags="$compiler_flags $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  case $arg in
+	  -Zlinker | -Zstack)
+	    prev=xcompiler
+	    ;;
+	  esac
+	  continue
+        else
+	  # Otherwise treat like 'Some other compiler flag' below
+	  func_quote_for_eval "$arg"
+	  arg=$func_quote_for_eval_result
+        fi
+	;;
+
       # Some other compiler flag.
       -* | +*)
         func_quote_for_eval "$arg"
@@ -7399,6 +7462,9 @@ func_mode_link ()
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
     func_dirname "$output" "/" ""
     output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"
@@ -8066,7 +8132,7 @@ func_mode_link ()
 	if test -n "$library_names" &&
 	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
 	  case $host in
-	  *cygwin* | *mingw* | *cegcc*)
+	  *cygwin* | *mingw* | *cegcc* | *os2*)
 	      # No point in relinking DLLs because paths are not encoded
 	      func_append notinst_deplibs " $lib"
 	      need_relink=no
@@ -8136,7 +8202,7 @@ func_mode_link ()
 	    elif test -n "$soname_spec"; then
 	      # bleh windows
 	      case $host in
-	      *cygwin* | mingw* | *cegcc*)
+	      *cygwin* | mingw* | *cegcc* | *os2*)
 	        func_arith $current - $age
 		major=$func_arith_result
 		versuffix=-$major
@@ -8561,6 +8627,37 @@ func_mode_link ()
 	  eval $var=\"$tmp_libs\"
 	done # for var
       fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
       # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)
       tmp_libs=
@@ -8708,13 +8805,13 @@ func_mode_link ()
 	  #
 	  case $version_type in
 	  # correct linux to gnu/linux during the next big refactor
-	  darwin|linux|osf|windows|none)
+	  darwin|freebsd-elf|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)
+	  freebsd-aout|qnx|sunos)
 	    current=$number_major
 	    revision=$number_minor
 	    age=0
@@ -8800,8 +8897,9 @@ func_mode_link ()
 	  ;;
 
 	freebsd-elf)
-	  major=.$current
-	  versuffix=.$current
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
 	  ;;
 
 	irix | nonstopux)
@@ -8864,6 +8962,11 @@ func_mode_link ()
 	  versuffix=.$current
 	  ;;
 
+	sco)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
 	sunos)
 	  major=.$current
 	  versuffix=.$current.$revision
diff --git a/admin/missing b/admin/missing
index db98974..f62bbae 100755
--- a/admin/missing
+++ b/admin/missing
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff --git a/admin/test-driver b/admin/test-driver
index d306056..8e575b0 100755
--- a/admin/test-driver
+++ b/admin/test-driver
@@ -3,7 +3,7 @@
 
 scriptversion=2013-07-13.22; # UTC
 
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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
@@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@ case $estatus:$expect_failure in
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
diff --git a/configure b/configure
index 1bd5000..91209fd 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Common Pipeline Library 6.6.
+# Generated by GNU Autoconf 2.69 for Common Pipeline Library 6.6.1.
 #
 # Report bugs to <cpl-help at eso.org>.
 #
@@ -592,8 +592,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Common Pipeline Library'
 PACKAGE_TARNAME='cpl'
-PACKAGE_VERSION='6.6'
-PACKAGE_STRING='Common Pipeline Library 6.6'
+PACKAGE_VERSION='6.6.1'
+PACKAGE_STRING='Common Pipeline Library 6.6.1'
 PACKAGE_BUGREPORT='cpl-help at eso.org'
 PACKAGE_URL=''
 
@@ -684,6 +684,7 @@ JAVAC
 JAVA
 LIBTOOL_DEPS
 CPP
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
@@ -833,6 +834,7 @@ enable_shared
 enable_static
 with_pic
 enable_fast_install
+with_aix_soname
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
@@ -875,6 +877,7 @@ CPPFLAGS
 PURIFY
 DOXYGEN
 LATEX
+LT_SYS_LIBRARY_PATH
 CPP
 JAVA
 JAVAC
@@ -1420,7 +1423,7 @@ 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 Common Pipeline Library 6.6 to adapt to many kinds of systems.
+\`configure' configures Common Pipeline Library 6.6.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1490,7 +1493,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Common Pipeline Library 6.6:";;
+     short | recursive ) echo "Configuration of Common Pipeline Library 6.6.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1536,6 +1539,9 @@ Optional Packages:
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                           compiler's sysroot if not specified).
@@ -1574,6 +1580,8 @@ Some influential environment variables:
   PURIFY      Purify command
   DOXYGEN     doxygen command
   LATEX       latex command
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   CPP         C preprocessor
   JAVA        Java application launcher
   JAVAC       Java compiler command
@@ -1645,7 +1653,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Common Pipeline Library configure 6.6
+Common Pipeline Library configure 6.6.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2243,7 +2251,7 @@ 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 Common Pipeline Library $as_me 6.6, which was
+It was created by Common Pipeline Library $as_me 6.6.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2666,7 +2674,7 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2838,8 +2846,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2858,7 +2866,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3152,7 +3160,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='cpl'
- VERSION='6.6'
+ VERSION='6.6.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3186,8 +3194,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3245,6 +3253,7 @@ END
   fi
 fi
 
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
@@ -3382,10 +3391,10 @@ _ACEOF
         LT_CURRENT="26"
     fi
 
-    if test -z "0"; then
+    if test -z "1"; then
         LT_REVISION=0
     else
-        LT_REVISION="0"
+        LT_REVISION="1"
     fi
 
     if test -z "6"; then
@@ -5716,8 +5725,8 @@ esac
 
 
 
-macro_version='2.4.2.458.26-92994'
-macro_revision='2.4.3'
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
 
 
@@ -6921,6 +6930,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 
 fi
@@ -7969,6 +7981,21 @@ $as_echo "$lt_cv_truncate_bin" >&6; }
 
 
 
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then :
   enableval=$enable_libtool_lock;
@@ -8976,6 +9003,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
     ;;
   esac
 
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -9332,6 +9394,58 @@ fi
 
 
 
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
 
 
 
@@ -9451,15 +9565,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$LD" && LD=ld
 test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; 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-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
 
 # Only perform the check for file, if the check method requires it
@@ -9770,6 +9877,11 @@ lt_prog_compiler_static=
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -9866,6 +9978,11 @@ lt_prog_compiler_static=
       # 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).
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -10506,6 +10623,34 @@ _LT_EOF
       link_all_deplibs=yes
       ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
@@ -10579,6 +10724,9 @@ _LT_EOF
         fi
 
 	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
@@ -10708,19 +10856,35 @@ _LT_EOF
 	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".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
 	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
 	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
@@ -10728,6 +10892,13 @@ _LT_EOF
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -10747,6 +10918,14 @@ _LT_EOF
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
       file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
 
       if test yes = "$GCC"; then
 	case $host_os in aix4.[012]|aix4.[012].*)
@@ -10774,6 +10953,11 @@ _LT_EOF
 	if test yes = "$aix_use_runtimelinking"; then
 	  shared_flag="$shared_flag "'$wl-G'
 	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
 	if test ia64 = "$host_cpu"; then
@@ -10786,6 +10970,8 @@ _LT_EOF
 	  else
 	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
@@ -10793,7 +10979,7 @@ _LT_EOF
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       always_export_symbols=yes
-      if test yes = "$aix_use_runtimelinking"; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
 	# Warning - without using the other runtime loading flags (-brtl),
 	# -berok will link without error, but may produce a broken library.
 	allow_undefined_flag='-berok'
@@ -10908,8 +11094,20 @@ fi
 	    whole_archive_flag_spec='$convenience'
 	  fi
 	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$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'
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) >  [...]
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -11228,6 +11426,16 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
@@ -11273,8 +11481,28 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$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'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
       ;;
 
     osf3*)
@@ -11797,6 +12025,8 @@ hardcode_into_libs=no
 # 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
@@ -11833,20 +12063,70 @@ aix[4-9]*)
       fi
       ;;
     esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
     # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test yes = "$aix_use_runtimelinking"; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # 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
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
       # 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
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -12034,7 +12314,8 @@ freebsd* | dragonfly*)
   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'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -12094,10 +12375,11 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -12249,7 +12531,12 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) 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"
@@ -12318,11 +12605,32 @@ openbsd* | bitrig*)
 
 os2*)
   libname_spec='$name'
+  version_type=windows
   shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname$shared_ext $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  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'
   ;;
 
 osf3* | osf4* | osf5*)
@@ -12398,7 +12706,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
@@ -12453,10 +12761,25 @@ fi
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
 
 
 
@@ -12927,7 +13250,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -13033,7 +13356,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -13182,8 +13505,12 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
     ;;
 
   aix[4-9]*)
-    if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-      test yes = "$enable_shared" && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -13299,7 +13626,7 @@ else
     for i in $cpl_java_dirs; do
         for j in $cpl_java_check_java; do
 
-            echo "configure: 13302: $i/$j" >&5
+            echo "configure: 13629: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -13415,7 +13742,7 @@ else
     for i in $cpl_java_incdirs; do
         for j in $cpl_java_check_header; do
 
-            echo "configure: 13418: $i/$j" >&5
+            echo "configure: 13745: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -13460,7 +13787,7 @@ else
     for i in $cpl_java_incdirs; do
         for j in $cpl_java_check_header_md; do
 
-            echo "configure: 13463: $i/$j" >&5
+            echo "configure: 13790: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -13478,7 +13805,7 @@ else
     for i in $cpl_java_incdirs; do
         for j in $cpl_java_check_header_md; do
 
-            echo "configure: 13481: $i/$j" >&5
+            echo "configure: 13808: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -13586,7 +13913,7 @@ else
     for i in $cpl_gasgano_dirs; do
         for j in $cpl_gasgano_check_prog; do
 
-            echo "configure: 13589: $i/$j" >&5
+            echo "configure: 13916: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -13672,7 +13999,7 @@ else
     for i in $cpl_gasgano_jardirs; do
         for j in $cpl_gasgano_check_jar; do
 
-            echo "configure: 13675: $i/$j" >&5
+            echo "configure: 14002: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -14283,7 +14610,7 @@ fi
     for i in $cpl_cext_incdirs; do
         for j in $cpl_cext_check_header; do
 
-            echo "configure: 14286: $i/$j" >&5
+            echo "configure: 14613: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -14339,7 +14666,7 @@ fi
     for i in $cpl_cext_libdirs; do
         for j in $cpl_cext_check_lib; do
 
-            echo "configure: 14342: $i/$j" >&5
+            echo "configure: 14669: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -14794,7 +15121,7 @@ $as_echo_n "checking for cfitsio... " >&6; }
     for i in $cpl_cfitsio_incdirs; do
         for j in $cpl_cfitsio_check_header; do
 
-            echo "configure: 14797: $i/$j" >&5
+            echo "configure: 15124: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -14848,7 +15175,7 @@ $as_echo_n "checking for cfitsio... " >&6; }
     for i in $cpl_cfitsio_libdirs; do
         for j in $cpl_cfitsio_check_lib; do
 
-            echo "configure: 14851: $i/$j" >&5
+            echo "configure: 15178: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -15012,11 +15339,15 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  cpl_cfitsio_version="`cat conftest.out`"
+
+                       cpl_cfitsio_version="`cat conftest.out`";
+                       rm -f conftest.out
+
 else
 
                        cpl_cfitsio_version="no";
-                       cpl_cfitsio_version_found="`cat conftest.out`"
+                       cpl_cfitsio_version_found="`cat conftest.out`";
+                       rm -f conftest.out
 
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -15257,7 +15588,7 @@ $as_echo_n "checking for libwcs... " >&6; }
 
 
     cpl_wcs_check_version="4.16"
-    cpl_wcs_check_header="wcslib/wcslib.h"
+    cpl_wcs_check_header="wcslib.h"
     cpl_wcs_check_lib="libwcs.a"
 
     cpl_wcs_includes=""
@@ -15303,12 +15634,12 @@ fi
     		cpl_wcs_incdirs="$cpl_wcs_incdirs /usr/include"
 
         	test -n "$WCSDIR" && \
-        		cpl_wcs_incdirs="$WCSDIR/include \
+        		cpl_wcs_incdirs="$WCSDIR/include/wcslib \
         					     $cpl_wcs_incdirs"
 
     	else
 
-        	cpl_wcs_incdirs="$cpl_with_wcs/include"
+        	cpl_wcs_incdirs="$cpl_with_wcs/include/wcslib"
 
     	fi
 
@@ -15324,7 +15655,7 @@ fi
     for i in $cpl_wcs_incdirs; do
         for j in $cpl_wcs_check_header; do
 
-            echo "configure: 15327: $i/$j" >&5
+            echo "configure: 15658: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -15380,7 +15711,7 @@ fi
     for i in $cpl_wcs_libdirs; do
         for j in $cpl_wcs_check_lib; do
 
-            echo "configure: 15383: $i/$j" >&5
+            echo "configure: 15714: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -15417,7 +15748,7 @@ $as_echo "libraries $cpl_wcs_libraries, headers $cpl_wcs_includes" >&6; }
 
         # Setup the symbols
 
-        WCS_INCLUDES="-I$cpl_wcs_includes/wcslib"
+        WCS_INCLUDES="-I$cpl_wcs_includes"
         WCS_LDFLAGS="-L$cpl_wcs_libraries"
         LIBWCS="-lwcs -lm"
         LIBWCS_STATIC="$cpl_wcs_libraries/$cpl_wcs_check_lib -lm"
@@ -15505,11 +15836,15 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  cpl_wcs_version="`cat conftest.out`"
+
+                       cpl_wcs_version="`cat conftest.out`";
+                       rm -f conftest.out
+
 else
 
                        cpl_wcs_version="no";
-                       cpl_wcs_version_found="`cat conftest.out`"
+                       cpl_wcs_version_found="`cat conftest.out`";
+                       rm -f conftest.out
 
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -15629,7 +15964,7 @@ $as_echo_n "checking for fftw (normal-precision)... " >&6; }
     for i in $cpl_fftw_incdirs; do
         for j in $cpl_fftw_check_header; do
 
-            echo "configure: 15632: $i/$j" >&5
+            echo "configure: 15967: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -15685,7 +16020,7 @@ $as_echo_n "checking for fftw (normal-precision)... " >&6; }
     for i in $cpl_fftw_libdirs; do
         for j in $cpl_fftw_check_lib; do
 
-            echo "configure: 15688: $i/$j" >&5
+            echo "configure: 16023: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -15821,11 +16156,15 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  cpl_fftw_version="`cat conftest.out`"
+
+                       cpl_fftw_version="`cat conftest.out`";
+                       rm -f conftest.out
+
 else
 
                        cpl_fftw_version="no";
-                       cpl_fftw_version_found="`cat conftest.out`"
+                       cpl_fftw_version_found="`cat conftest.out`";
+                       rm -f conftest.out
 
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -15882,7 +16221,7 @@ $as_echo_n "checking for fftw (single-precision)... " >&6; }
     for i in $cpl_fftw_libdirs; do
         for j in $cpl_fftwf_check_lib; do
 
-            echo "configure: 15885: $i/$j" >&5
+            echo "configure: 16224: $i/$j" >&5
 
             if test -r "$i/$j"; then
                 echo "taking that" >&5
@@ -16018,11 +16357,15 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  cpl_fftwf_version="`cat conftest.out`"
+
+                       cpl_fftwf_version="`cat conftest.out`";
+                       rm -f conftest.out
+
 else
 
                        cpl_fftwf_version="no";
-                       cpl_fftwf_version_found="`cat conftest.out`"
+                       cpl_fftwf_version_found="`cat conftest.out`";
+                       rm -f conftest.out
 
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -18171,7 +18514,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Common Pipeline Library $as_me 6.6, which was
+This file was extended by Common Pipeline Library $as_me 6.6.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18237,7 +18580,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Common Pipeline Library config.status 6.6
+Common Pipeline Library config.status 6.6.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -18373,6 +18716,7 @@ macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -18493,7 +18837,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -18611,7 +18956,8 @@ postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
@@ -19413,6 +19759,9 @@ $as_echo X"$file" |
 # The names of the tagged configurations supported by this script.
 available_tags=''
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 
 # Whether or not to build shared libraries.
@@ -19431,6 +19780,9 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -19659,8 +20011,11 @@ hardcode_into_libs=$hardcode_into_libs
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -19811,6 +20166,65 @@ hardcode_action=$hardcode_action
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
diff --git a/configure.ac b/configure.ac
index c88b42d..30ae154 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([Common Pipeline Library], [6.6], [cpl-help at eso.org], [cpl])
+AC_INIT([Common Pipeline Library], [6.6.1], [cpl-help at eso.org], [cpl])
 AC_PREREQ([2.59])
 
 AC_CONFIG_SRCDIR([cpl.h])
@@ -31,7 +31,7 @@ CPL_SET_PREFIX
 
 
 # Order of arguments: VERSION, CURRENT, REVISION, AGE
-CPL_CONFIG_VERSION([$VERSION], [26], [0], [6]) 
+CPL_CONFIG_VERSION([$VERSION], [26], [1], [6]) 
 
 # Checks for programs.
 AC_PROG_CC
diff --git a/cplcore/Makefile.in b/cplcore/Makefile.in
index 3d9c3d3..1f97e35 100644
--- a/cplcore/Makefile.in
+++ b/cplcore/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cplcore
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(include_HEADERS) \
-	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -92,6 +99,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -224,6 +233,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -338,6 +348,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,7 +561,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cplcore/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cplcore/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1008,6 +1018,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
 	tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
 	uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS
 
+.PRECIOUS: Makefile
+
 
 cpl_version.h: $(srcdir)/cpl_version.h.top cpl_version.h.in $(srcdir)/cpl_version.h.bot
 	cat $(srcdir)/cpl_version.h.top cpl_version.h.in \
diff --git a/cplcore/cpl_column.c b/cplcore/cpl_column.c
index c56d6ae..3ff889f 100644
--- a/cplcore/cpl_column.c
+++ b/cplcore/cpl_column.c
@@ -1,5 +1,4 @@
-/* $Id: cpl_column.c,v 1.122 2013-04-26 14:13:58 llundin Exp $
- *
+/*
  * This file is part of the ESO Common Pipeline Library
  * Copyright (C) 2001-2008 European Southern Observatory
  *
@@ -18,13 +17,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-/*
- * $Author: llundin $
- * $Date: 2013-04-26 14:13:58 $
- * $Revision: 1.122 $
- * $Name: not supported by cvs2svn $
- */
-
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -5222,10 +5214,9 @@ cpl_error_code cpl_column_set_complex(cpl_column *column,
  * @return 0 on error 1 on success
  *
  */
-static inline int _cpl_set_error_check(const char * fid,
-                                       const cpl_column * column,
-                                       cpl_size indx,
-                                       cpl_type e_type)
+inline static int
+_cpl_set_error_check(const char *fid, const cpl_column *column,
+                     cpl_size indx, cpl_type e_type)
 {
     cpl_size    length;
     cpl_type    type;
@@ -5278,8 +5269,9 @@ cpl_error_code cpl_column_set_int(cpl_column *column, cpl_size indx, int value)
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_INT) == 0)
-        return 0;
+                             CPL_TYPE_INT) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->i[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5315,8 +5307,9 @@ cpl_column_set_long(cpl_column *column, cpl_size indx, long value)
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_LONG) == 0)
-        return 0;
+                             CPL_TYPE_LONG) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->l[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5352,8 +5345,9 @@ cpl_column_set_long_long(cpl_column *column, cpl_size indx, long long value)
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_LONG_LONG) == 0)
-        return 0;
+                             CPL_TYPE_LONG_LONG) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->ll[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5389,8 +5383,9 @@ cpl_column_set_cplsize(cpl_column *column, cpl_size indx, cpl_size value)
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_SIZE) == 0)
-        return 0;
+                             CPL_TYPE_SIZE) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->sz[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5426,8 +5421,9 @@ cpl_error_code cpl_column_set_float(cpl_column *column,
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_FLOAT) == 0)
-        return 0;
+                             CPL_TYPE_FLOAT) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->f[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5463,8 +5459,9 @@ cpl_error_code cpl_column_set_float_complex(cpl_column *column,
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_FLOAT_COMPLEX) == 0)
-        return 0;
+                             CPL_TYPE_FLOAT_COMPLEX) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->cf[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5500,8 +5497,9 @@ cpl_error_code cpl_column_set_double(cpl_column *column, cpl_size indx,
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_DOUBLE) == 0)
-        return 0;
+                             CPL_TYPE_DOUBLE) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->d[indx] = value;
     cpl_column_unset_null(column, indx);
@@ -5537,8 +5535,9 @@ cpl_error_code cpl_column_set_double_complex(cpl_column *column, cpl_size indx,
 {
 
     if (_cpl_set_error_check(cpl_func, column, indx,
-                             CPL_TYPE_DOUBLE_COMPLEX) == 0)
-        return 0;
+                             CPL_TYPE_DOUBLE_COMPLEX) == 0) {
+        return cpl_error_get_code();
+    }
 
     column->values->cd[indx] = value;
     cpl_column_unset_null(column, indx);
diff --git a/cplcore/cpl_mpfit.c b/cplcore/cpl_mpfit.c
index 27bf261..b998abb 100644
--- a/cplcore/cpl_mpfit.c
+++ b/cplcore/cpl_mpfit.c
@@ -1085,7 +1085,7 @@ int _cpl_mp_fdjac2(mp_func funct,
   ij = 0;
   ldfjac = 0; /* Prevents compiler warning */
 
-  dvec = (double **) cpl_calloc(npar, sizeof(double **));
+  dvec = (double **) cpl_calloc(npar, sizeof(double *));
   if (dvec == 0) return MP_ERR_MEMORY;
 
   /* Initialize the Jacobian derivative matrix */
diff --git a/cplcore/cpl_propertylist.c b/cplcore/cpl_propertylist.c
index 410f345..1ce13d3 100644
--- a/cplcore/cpl_propertylist.c
+++ b/cplcore/cpl_propertylist.c
@@ -7352,7 +7352,7 @@ void cpl_propertylist_dump(const cpl_propertylist *self, FILE *stream)
         fprintf(stream, "\tname   : %p '%s'\n", name, name);
         fprintf(stream, "\tcomment: %p '%s'\n", comment, comment);
         fprintf(stream, "\ttype   : %#09x '%s'\n", type, typestr);
-        fprintf(stream, "\tsize   : %ld\n", size);
+        fprintf(stream, "\tsize   : %" CPL_SIZE_FORMAT "\n", size);
         fprintf(stream, "\tvalue  : ");
 
 
diff --git a/cplcore/cpl_table.c b/cplcore/cpl_table.c
index c66de8a..a187e31 100644
--- a/cplcore/cpl_table.c
+++ b/cplcore/cpl_table.c
@@ -10663,8 +10663,8 @@ void cpl_table_dump(const cpl_table *table,
 
                     case CPL_TYPE_LONG_LONG:
                     {
-                        long long llnum = cpl_column_get_long(table->columns[j], i,
-                                                              &null);
+                        long long llnum = cpl_column_get_long_long(table->columns[j], i,
+                                                                   &null);
 
                         if (null) {
                             memset(fields[j], '-', field_size[j]);
@@ -21176,8 +21176,11 @@ cpl_table *cpl_table_extract_selected(const cpl_table *table)
                     switch (_cpl_columntype_get_valuetype(type_id)) {
 
                         case CPL_TYPE_INT:
+                        case CPL_TYPE_LONG_LONG:
                         case CPL_TYPE_FLOAT:
                         case CPL_TYPE_DOUBLE:
+                        case CPL_TYPE_FLOAT_COMPLEX:
+                        case CPL_TYPE_DOUBLE_COMPLEX:
                         case CPL_TYPE_STRING:
                         {
                             while (l < count) {
@@ -21198,18 +21201,18 @@ cpl_table *cpl_table_extract_selected(const cpl_table *table)
                 }
                 else {
 
+                    /*
+                     * This is slow, but acceptable for the moment.
+                     * It should be replaced by a call to a function
+                     * that copies efficiently column segments into
+                     * other column segments (including the NULL
+                     * flags).
+                     */
+
                     switch (_cpl_columntype_get_valuetype(type_id)) {
 
                         case CPL_TYPE_INT:
 
-                            /*
-                             * This is slow, but acceptable for the moment.
-                             * It should be replaced by a call to a function
-                             * that copies efficiently column segments into
-                             * other column segments (including the NULL
-                             * flags).
-                             */
-
                             while (l < count) {
                                 ivalue = cpl_column_get_int(table->columns[j],
                                                             m, &isnull);
@@ -21226,6 +21229,25 @@ cpl_table *cpl_table_extract_selected(const cpl_table *table)
                             }
                             break;
 
+                        case CPL_TYPE_LONG_LONG:
+
+                            while (l < count) {
+                                long long value =
+                                        cpl_column_get_long_long(table->columns[j],
+                                                                 m, &isnull);
+
+                                if (isnull)
+                                    cpl_column_set_invalid(new_table->columns[j], n);
+                                else
+                                    cpl_column_set_long_long(new_table->columns[j],
+                                                             n, value);
+
+                                l++;
+                                m++;
+                                n++;
+                            }
+                            break;
+
                         case CPL_TYPE_FLOAT:
 
                             while (l < count) {
@@ -21262,6 +21284,42 @@ cpl_table *cpl_table_extract_selected(const cpl_table *table)
                             }
                             break;
 
+                        case CPL_TYPE_FLOAT_COMPLEX:
+
+                            while (l < count) {
+                                float complex value =
+                                        cpl_column_get_float_complex(table->columns[j],
+                                                                     m, &isnull);
+                                if (isnull)
+                                    cpl_column_set_invalid(new_table->columns[j], n);
+                                else
+                                    cpl_column_set_float_complex(
+                                            new_table->columns[j], n, value);
+
+                                l++;
+                                m++;
+                                n++;
+                            }
+                            break;
+
+                        case CPL_TYPE_DOUBLE_COMPLEX:
+
+                            while (l < count) {
+                                double complex value =
+                                        cpl_column_get_double_complex(table->columns[j],
+                                                                      m, &isnull);
+                                if (isnull)
+                                    cpl_column_set_invalid(new_table->columns[j], n);
+                                else
+                                    cpl_column_set_double_complex(
+                                            new_table->columns[j], n, value);
+
+                                l++;
+                                m++;
+                                n++;
+                            }
+                            break;
+
                         case CPL_TYPE_STRING:
 
                             while (l < count) {
@@ -21449,7 +21507,14 @@ static cpl_table *cpl_table_overload_window(const char *filename, int xtnum,
         return NULL;
     }
 
-    cpl_io_fits_open_diskfile(&fptr, filename, READONLY, &status);
+    if (cpl_io_fits_open_diskfile(&fptr, filename, READONLY, &status)) {
+
+        (void)cpl_error_set_fits(status == FILE_NOT_OPENED ?
+                                 CPL_ERROR_FILE_IO : CPL_ERROR_BAD_FILE_FORMAT,
+                                 status, fits_open_diskfile, "filename='%s', "
+                                 "position=%d", filename, xtnum);
+    }
+
     fits_get_num_hdus(fptr, &extension_count, &status);
 
     if (status) {
@@ -23554,7 +23619,7 @@ _cpl_table_write_column(fitsfile *ofile, cpl_size trow,
      * general case and just write invalid data values to the file.
      */
 
-    if ((layout->tnull[icol].flag & CPL_NULL_FLAG_FVALUE) &
+    if ((layout->tnull[icol].flag & CPL_NULL_FLAG_FVALUE) &&
             !layout->tnull[icol].mask) {
 
         fits_write_col_null(ofile, icol + 1, trow + 1, 1, nrows, &status);
@@ -23826,6 +23891,18 @@ _cpl_table_write_column_array(fitsfile *ofile, cpl_size trow,
 
 
 
+    /*
+     * If the column has any invalid elements, i.e. one of the array pointers
+     * stored in the column elements is a null pointer, set up an array
+     * container for column null values which is used as a replacement of the
+     * missing data array.
+     *
+     * In the following switch statement it is only used if a pointer in the
+     * 'arrays' array is NULL. The following check guarantees that if there
+     * are any null pointers in the column 'null_array' can safely be used
+     * in the following switch statement.
+     */
+
     if (layout->tnull[icol].flag & CPL_NULL_FLAG_ARRAY) {
         null_array = cpl_array_new(layout->depth[icol],
                                    layout->value_type[icol]);
@@ -23872,7 +23949,8 @@ _cpl_table_write_column_array(fitsfile *ofile, cpl_size trow,
                     cdata = _null_array;
                 }
 
-                if (!cpl_array_has_invalid(arrays[_irow])) {
+                if ((cdata == _null_array) ||
+                        !cpl_array_has_invalid(arrays[_irow])) {
                     memcpy(&values[stride], cdata, depth * sizeof *cdata);
                 }
                 else {
@@ -24166,7 +24244,7 @@ _cpl_table_write_column_array(fitsfile *ofile, cpl_size trow,
                 }
                 else {
                     cdata            = _null_array;
-                    null_mask[_irow] = &array_null;;
+                    null_mask[_irow] = &array_null;
                 }
 
 
@@ -24619,10 +24697,20 @@ _cpl_table_save_append(const cpl_table *table, fitsfile *ofile)
  * just one FITS table extension. An existing (and writable) FITS file
  * with the same name would be overwritten. If the @em mode flag is set
  * to @c CPL_IO_EXTEND, a new table extension would be appended to an
- * existing FITS file. Note that also in this case the file must be
- * writable (and do not take for granted that a file is writable just
- * because it was created by the same application, as this depends
- * from the system @em umask).
+ * existing FITS file. If @em mode is set to @c CPL_IO_APPEND it is possible
+ * to add rows to the last FITS table extension of the output FITS file.
+ *
+ * Note that the modes @c CPL_IO_EXTEND and @c CPL_IO_APPEND require that
+ * the target file must be writable (and do not take for granted that a file
+ * is writable just because it was created by the same application,
+ * as this depends from the system @em umask).
+ *
+ * For using the mode @c CPL_IO_APPEND additional requirements must be
+ * fulfilled, which are that the column properties like type, format, units,
+ * etc. must match as the properties of the FITS table extension to which the
+ * rows should be added exactly. In particular this means that both tables use
+ * the same null value representation for integral type columns!
+ *
  * Two property lists may be passed to this function, both
  * optionally. The first property list, @em pheader, is just used if
  * the @em mode is set to @c CPL_IO_CREATE, and it is assumed to
@@ -24631,6 +24719,7 @@ _cpl_table_save_append(const cpl_table *table, fitsfile *ofile)
  * NAXIS, EXTEND, BLOCKED, and END, are ignored: such entries would
  * be written anyway to the primary header and set to some standard
  * values.
+ *
  * If a @c NULL @em pheader is passed, the primary array would be created
  * with just such entries, that are mandatory in any regular FITS file.
  * The second property list, @em header, is assumed to contain entries
@@ -24659,6 +24748,13 @@ _cpl_table_save_append(const cpl_table *table, fitsfile *ofile)
  *   sequence number). Beware that if valid column elements have
  *   the value identical to the chosen null-code, they will also
  *   be considered invalid in the FITS convention.
+ *
+ *   When using the mode @c CPL_IO_APPEND the column properties of the table
+ *   to be appended are compared to the column properties of the target
+ *   FITS extension for each call, which introduces a certain overhead. This
+ *   means that appending a single table row at a time may not be efficient
+ *   and is not recommended. Rather than writing one row at a time one should
+ *   write table chunks containing a suitable number or rows.
  */
 
 static cpl_error_code
@@ -24903,7 +24999,7 @@ _cpl_table_save(const cpl_table *table, const cpl_propertylist *pheader,
 
 }
 
-#if 1
+
 static cpl_error_code
 _cpl_table_save_legacy(const cpl_table *table,
                        const cpl_propertylist *pheader,
@@ -25996,7 +26092,7 @@ _cpl_table_save_legacy(const cpl_table *table,
                             for (m = 0, j = 0; j < depth; j++) {
                                 eccolo = 0;
                                 for (n = 0; n < field_size; n++, m++) {
-                                    if (sdata[j][n] == '\0') {
+                                    if (!eccolo && (sdata[j][n] == '\0')) {
                                         eccolo = 1;
                                     }
                                     if (eccolo) {
@@ -28258,3218 +28354,6 @@ _cpl_table_save_legacy(const cpl_table *table,
 
 }
 
-#else
-
-static cpl_error_code
-_cpl_table_save_legacy(const cpl_table *table,
-                       const cpl_propertylist *pheader,
-                       const cpl_propertylist *header,
-                       const char *filename,
-                       unsigned mode)
-{
-
-
-    cpl_errorstate    prestate = cpl_errorstate_get();
-    cpl_size          depth;
-    cpl_size          dimensions;
-
-    cpl_array       **arrays;
-    cpl_column       *acolumn;
-
-    cpl_column      **column;
-    fitsfile         *outfile;
-
-    cpl_size          nc = cpl_table_get_ncol(table);
-    cpl_size          nr = cpl_table_get_nrow(table);
-    cpl_size          bwidth, field_size;
-    cpl_size          j, k, z;
-    int               i;
-    int              *found;
-    cpl_size         *nb;
-    cpl_size          count;
-    cpl_size          chunk, spell;
-    long              optimal_nrows;
-    cpl_size          fcount = 0;
-
-    long long        *nval;
-
-    int              *idata;
-    short int        *sidata;
-    long long        *lldata;
-    float            *fdata;
-    double           *ddata;
-    float complex    *cfdata;
-    double complex   *cddata;
-    const char      **sdata;
-    cpl_column_flag  *ndata;
-    const char       *nstring;
-    char             *sval;
-    char             *bdata;
-    unsigned char    *ubdata;
-
-    const char      **tunit;
-    const char      **ttype;
-    const char      **tform;
-    char              tnull[FLEN_KEYWORD];
-
-    char              err_text[FLEN_STATUS];
-
-    int               status = 0;
-
-
-    err_text[0] = '\0';
-
-    if (table == 0x0 || filename == 0x0)
-        return cpl_error_set_(CPL_ERROR_NULL_INPUT);
-
-    if (mode & CPL_IO_EXTEND) {
-
-        /*
-         *  The file must exist, and must be writable.
-         */
-
-        if (access(filename, F_OK))
-            return cpl_error_set_(CPL_ERROR_FILE_NOT_FOUND);
-
-        if (access(filename, W_OK))
-            return cpl_error_set_(CPL_ERROR_FILE_NOT_CREATED);
-
-        if (cpl_io_fits_open_diskfile(&outfile, filename, READWRITE, &status)) {
-            fits_get_errstatus(status, err_text);
-            return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                          "CFITSIO: %s", err_text);
-        }
-
-    }
-    else if (mode & CPL_IO_CREATE) {
-
-        /*
-         *  If the file exists, it must be (over)writable.
-         */
-
-        if (!access(filename, F_OK)) {
-            if (access(filename, W_OK)) {
-                return cpl_error_set_(CPL_ERROR_FILE_NOT_CREATED);
-            }
-/* DFS04866
-            else {
-                cpl_io_fits_open_diskfile(&outfile, filename, READWRITE, &status);
-                if (status == 0) {
-                    fits_delete_file(outfile, &status);
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        return cpl_error_set_message_(
-                               CPL_ERROR_FILE_NOT_CREATED,
-                               "CFITSIO: %s", err_text);
-                    }
-                }
-                status = 0;
-            }
-*/
-        }
-
-        sval = cpl_sprintf("!%s", filename);
-        cpl_io_fits_create_file(&outfile, sval, &status);
-        cpl_free(sval);
-        if (status) {
-            fits_get_errstatus(status, err_text);
-            return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                          "CFITSIO: %s", err_text);
-        }
-
-        if (pheader) {
-
-            /*
-             * Write property list to primary FITS header
-             */
-
-            if (fits_create_img(outfile, SHORT_IMG, 0, NULL, &status)) {
-                fits_get_errstatus(status, err_text);
-                return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                              "CFITSIO: %s", err_text);
-            }
-
-            fits_write_date(outfile, &status);
-
-            if (cpl_fits_add_properties(outfile, pheader,
-                                        "^(" ERASE_WCS_REGEXP ")$|"
-             CPL_FITS_BADKEYS_PRIM "|" CPL_FITS_COMPRKEYS) != CPL_ERROR_NONE) {
-                fits_delete_file(outfile, &status);
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-                return cpl_error_set_(CPL_ERROR_FILE_NOT_CREATED);
-            }
-        }
-    }
-    else {
-        return cpl_error_set_(CPL_ERROR_UNSUPPORTED_MODE);
-    }
-
-    /*
-     *  Defining the FITS table and its columns.
-     */
-
-    /*
-     *  The table width is the sum of all column widths (in bytes).
-     */
-
-    nb = cpl_calloc(nc, sizeof(cpl_size));
-    bwidth = 0;
-    column = table->columns;
-
-    ttype = cpl_calloc(nc, sizeof(char *));
-    tform = cpl_calloc(nc, sizeof(char *));
-    tunit = cpl_calloc(nc, sizeof(char *));
-
-    for (i = 0; i < nc; i++, column++) {
-        depth = cpl_table_get_column_depth(table, cpl_column_get_name(*column));
-
-        /*
-         * Note that strings ttype[i] and tunit[i] do not need to be
-         * deallocated (this is done by cpl_table_delete()), while
-         * tform[i] do. This is because of the string format (see below),
-         * and this is why cpl_strdup() is also used below.
-         */
-
-        ttype[i] = cpl_column_get_name(*column);
-        tunit[i] = cpl_column_get_unit(*column);
-
-        if (tunit[i] == NULL)
-            tunit[i] = "";
-
-        switch (cpl_column_get_type(*column)) {
-
-        case CPL_TYPE_INT:
-            switch (cpl_column_get_save_type(*column)) {
-
-            case CPL_TYPE_BOOL:
-                tform[i] = cpl_strdup("1L");
-                break;
-            case CPL_TYPE_CHAR:
-                tform[i] = cpl_strdup("1S");
-                break;
-            case CPL_TYPE_UCHAR:
-                tform[i] = cpl_strdup("1B");
-                break;
-            case CPL_TYPE_SHORT:
-                tform[i] = cpl_strdup("1I");
-                break;
-            default:
-                tform[i] = cpl_strdup("1J");
-                break;
-            }
-
-            nb[i] = 1;
-
-/*
-            if (cpl_column_get_save_type(*column) == CPL_TYPE_BOOL)
-                tform[i] = cpl_strdup("1L");
-            else
-                tform[i] = cpl_strdup("1J");
-            nb[i] = 1;
-*/
-            break;
-        case CPL_TYPE_LONG_LONG:
-            switch (cpl_column_get_save_type(*column)) {
-
-            case CPL_TYPE_BOOL:
-                tform[i] = cpl_strdup("1L");
-                break;
-            case CPL_TYPE_CHAR:
-                tform[i] = cpl_strdup("1S");
-                break;
-            case CPL_TYPE_UCHAR:
-                tform[i] = cpl_strdup("1B");
-                break;
-            case CPL_TYPE_SHORT:
-                tform[i] = cpl_strdup("1I");
-                break;
-            case CPL_TYPE_INT:
-                tform[i] = cpl_strdup("1J");
-                break;
-            default:
-                tform[i] = cpl_strdup("1K");
-                break;
-            }
-
-            nb[i] = 1;
-            break;
-        case CPL_TYPE_FLOAT:
-            tform[i] = cpl_strdup("1E");
-            nb[i] = 1;
-            break;
-        case CPL_TYPE_DOUBLE:
-            tform[i] = cpl_strdup("1D");
-            nb[i] = 1;
-            break;
-        case CPL_TYPE_FLOAT_COMPLEX:
-            tform[i] = cpl_strdup("1C");
-            nb[i] = 2;
-            break;
-        case CPL_TYPE_DOUBLE_COMPLEX:
-            tform[i] = cpl_strdup("1M");
-            nb[i] = 2;
-            break;
-        case CPL_TYPE_STRING:
-
-            /*
-             *  Determine the longest string in column.
-             */
-
-            sdata = cpl_column_get_data_string_const(*column);
-            field_size = 0;
-
-            for (j = 0; j < nr; j++)
-                if (sdata[j])
-                    if ((int)strlen(sdata[j]) > field_size)
-                        field_size = strlen(sdata[j]);
-
-            if (field_size == 0)
-                field_size = 1;
-
-            nb[i] = field_size;
-
-            tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "A", field_size);
-
-            break;
-
-        case CPL_TYPE_STRING | CPL_TYPE_POINTER:
-
-/* New part */
-
-            /*
-             * A new kind of "depth" needs to be defined.
-             * If an element of a table is an array of strings,
-             * this is expressed in FITS like a string as long
-             * as the concatenation of all the strings in the
-             * array. We need therefore to take first of all
-             * the longest string in all the arrays of strings.
-             */
-
-            arrays = cpl_column_get_data_array(*column);
-            field_size = 0;
-
-            for (k = 0; k < nr; k++) {
-                if (arrays[k]) {
-                    sdata = cpl_array_get_data_string_const(arrays[k]);
-                    for (j = 0; j < depth; j++) {
-                        if (sdata[j]) {
-                            if ((int)strlen(sdata[j]) > field_size) {
-                                field_size = strlen(sdata[j]);
-                            }
-                        }
-                    }
-                }
-            }
-
-            if (field_size == 0)
-                field_size = 1;
-
-            /*
-             * The new depth is the number of strings for each array,
-             * multiplied by the length of the longest string in all
-             * the arrays.
-             */
-
-            tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "A", depth * field_size);
-
-            /*
-             * In the TDIM keyword will have to be written the total number
-             * of characters for each string field, field_size, and the
-             * number of fields for one table element, depth.
-             */
-
-/* End new part */
-
-            break;
-
-        case CPL_TYPE_INT | CPL_TYPE_POINTER:
-            if (depth > 0) {
-
-                switch (cpl_column_get_save_type(*column)) {
-
-                case CPL_TYPE_BOOL:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "L", depth);
-                    break;
-                case CPL_TYPE_CHAR:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "S", depth);
-                    break;
-                case CPL_TYPE_UCHAR:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "B", depth);
-                    break;
-                case CPL_TYPE_SHORT:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "I", depth);
-                    break;
-                default:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "J", depth);
-                }
-                nb[i] = depth;
-
-/*
-                tform[i] = cpl_sprintf(cpl_column_get_save_type(*column)
-                                       == CPL_TYPE_BOOL ? "%dL" : "%dJ",
-                                       depth);
-                nb[i] = depth;
-*/
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        case CPL_TYPE_LONG_LONG | CPL_TYPE_POINTER:
-            if (depth > 0) {
-
-                switch (cpl_column_get_save_type(*column)) {
-
-                case CPL_TYPE_BOOL:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "L", depth);
-                    break;
-                case CPL_TYPE_CHAR:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "S", depth);
-                    break;
-                case CPL_TYPE_UCHAR:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "B", depth);
-                    break;
-                case CPL_TYPE_SHORT:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "I", depth);
-                    break;
-                case CPL_TYPE_INT:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "J", depth);
-                    break;
-                default:
-                    tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "K", depth);
-                    break;
-                }
-                nb[i] = depth;
-
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        case CPL_TYPE_FLOAT | CPL_TYPE_POINTER:
-            if (depth > 0) {
-
-                tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "E", depth);
-                nb[i] = depth;
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        case CPL_TYPE_DOUBLE | CPL_TYPE_POINTER:
-            if (depth > 0) {
-                tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "D", depth);
-                nb[i] = depth;
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        case CPL_TYPE_FLOAT_COMPLEX | CPL_TYPE_POINTER:
-            if (depth > 0) {
-
-                tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "C", depth);
-                nb[i] = 2 * depth;
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        case CPL_TYPE_DOUBLE_COMPLEX | CPL_TYPE_POINTER:
-            if (depth > 0) {
-                tform[i] = cpl_sprintf("%" CPL_SIZE_FORMAT "M", depth);
-                nb[i] = 2 * depth;
-            }
-            else {
-                cpl_error_set_(CPL_ERROR_ILLEGAL_OUTPUT);
-            }
-            break;
-
-        default:
-            fits_delete_file(outfile, &status);
-            if (status) {
-                fits_get_errstatus(status, err_text);
-            }
-            cpl_free(nb);
-            for (i = 0; i < nc; i++)
-                cpl_free((void*)tform[i]);
-            cpl_free((void*)tform);
-            return cpl_error_set_message_(CPL_ERROR_UNSPECIFIED,
-                                          "CFITSIO: %s", err_text);
-        }
-
-        bwidth += nb[i];
-
-    }
-
-    /* fits_create_tbl() (v.3.330) is missing const modifiers,
-       but the character arrays are _not_ modified. :-(((((((((( */
-
-    if (cpl_errorstate_is_equal(prestate)) {
-        fits_create_tbl(outfile, BINARY_TBL, nr, nc,
-                        (char**)ttype, (char**)tform, (char**)tunit,
-                        NULL, &status);
-    }
-
-    for (i = 0; i < nc; i++)
-        cpl_free((void*)tform[i]);
-    cpl_free((void*)tform);
-    cpl_free((void*)ttype);
-    cpl_free((void*)tunit);
-
-    if (!cpl_errorstate_is_equal(prestate))
-        return cpl_error_set_where_();
-
-    if (status) {
-        fits_get_errstatus(status, err_text);
-        status = 0;
-        fits_delete_file(outfile, &status);
-        return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                      "CFITSIO: %s", err_text);
-    }
-
-    /*
-     *  Determine column properties for each column (null value, dimensions,
-     *  etc.).
-     *
-     *  In order to use a single array for the null values of all types
-     *  of integer columns, it is created for the largest supported integer
-     *  type and the values are cast to the correct type as needed.
-     */
-
-    nval = cpl_calloc(nc, sizeof(long long));
-
-    found = cpl_calloc(nc, sizeof(int));
-    column = table->columns;
-
-    for (i = 0; i < nc; i++, column++) {
-
-        cpl_type column_type = cpl_column_get_type(*column);
-
-        depth = cpl_table_get_column_depth(table, cpl_column_get_name(*column));
-
-        /*
-         *  Determine the NULL value (if any). The TNULLi keyword
-         *  can be used just for integer type columns. The following
-         *  code checks that the caller sets the NULL column
-         *  elements to a special value. If this was not done, then
-         *  no TNULLi keyword will be generated, and the NULL column
-         *  elements may contain garbage.
-         */
-
-        switch (column_type) {
-        case CPL_TYPE_INT:
-
-            if (cpl_column_has_invalid(*column)) {
-
-                idata = cpl_column_get_data_int(*column);
-
-                ndata = cpl_column_get_data_invalid(*column);
-                if (ndata == NULL) {
-                    for (j = 0; j < nr; j++) {
-                        if (found[i]) {
-                            if (nval[i] != idata[j]) {
-                                found[i] = 0;
-                                break;
-                            }
-                        }
-                        else {
-                            found[i] = 1;
-                            nval[i] = idata[j];
-                        }
-                    }
-                }
-                else {
-                    for (j = 0; j < nr; j++) {
-                        if (ndata[j]) {
-                            if (found[i]) {
-                                if (nval[i] != idata[j]) {
-                                    found[i] = 0;
-                                    break;
-                                }
-                            }
-                            else {
-                                found[i] = 1;
-                                nval[i] = idata[j];
-                            }
-                        }
-                    }
-                }
-            }
-
-            /*
-             * Write the appropriate TNULLi keyword to header if necessary
-             */
-
-            if (found[i]) {
-
-                int inval = (int)nval[i];
-
-                sprintf(tnull, "TNULL%d", i + 1);
-                fits_write_key(outfile, TINT, tnull, &inval, NULL, &status);
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-            }
-
-            break;
-
-        case CPL_TYPE_LONG_LONG:
-
-            if (cpl_column_has_invalid(*column)) {
-
-                lldata = cpl_column_get_data_long_long(*column);
-
-                ndata = cpl_column_get_data_invalid(*column);
-
-                if (ndata == NULL) {
-                    for (j = 0; j < nr; j++) {
-                        if (found[i]) {
-                            if (nval[i] != lldata[j]) {
-                                found[i] = 0;
-                                break;
-                            }
-                        }
-                        else {
-                            found[i] = 1;
-                            nval[i] = lldata[j];
-                        }
-                    }
-                }
-                else {
-                    for (j = 0; j < nr; j++) {
-                        if (ndata[j]) {
-                            if (found[i]) {
-                                if (nval[i] != lldata[j]) {
-                                    found[i] = 0;
-                                    break;
-                                }
-                            }
-                            else {
-                                found[i] = 1;
-                                nval[i] = lldata[j];
-                            }
-                        }
-                    }
-                }
-            }
-
-            /*
-             * Write the appropriate TNULLi keyword to header if necessary
-             */
-
-            if (found[i]) {
-
-                long long llnval = nval[i];   /* for consistency only! */
-
-                sprintf(tnull, "TNULL%d", i + 1);
-                fits_write_key(outfile, TLONGLONG, tnull, &llnval, NULL,
-                               &status);
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-            }
-
-            break;
-
-        case CPL_TYPE_INT | CPL_TYPE_POINTER:
-
-            arrays = cpl_column_get_data_array(*column);
-
-            for (j = 0; j < nr; j++) {
-                if (arrays[j] == NULL) {
-                    arrays[j] = cpl_array_new(depth, CPL_TYPE_INT);
-                }
-                acolumn = cpl_array_get_column(arrays[j]);
-
-                if (cpl_column_has_invalid(acolumn) == 1) {
-                    idata = cpl_column_get_data_int(acolumn);
-                    ndata = cpl_column_get_data_invalid(acolumn);
-
-                    if (ndata == NULL) {
-                        for (z = 0; z < depth; z++) {
-                            if (found[i]) {
-                                if (nval[i] != idata[z]) {
-                                    found[i] = 0;
-                                    break;
-                                }
-                            }
-                            else {
-                                found[i] = 1;
-                                nval[i] = idata[z];
-                            }
-                        }
-                    }
-                    else {
-                        for (z = 0; z < depth; z++) {
-                            if (ndata[z]) {
-                                if (found[i]) {
-                                    if (nval[i] != idata[z]) {
-                                        found[i] = 0;
-                                        break;
-                                    }
-                                }
-                                else {
-                                    found[i] = 1;
-                                    nval[i] = idata[z];
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-
-            /*
-             * Write the appropriate TNULLi keyword to header if necessary
-             */
-
-            if (found[i]) {
-
-                int inval = (int)nval[i];
-
-                sprintf(tnull, "TNULL%d", i + 1);
-                fits_write_key(outfile, TINT, tnull, &inval, NULL, &status);
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-            }
-
-            break;
-
-        case CPL_TYPE_LONG_LONG | CPL_TYPE_POINTER:
-
-            arrays = cpl_column_get_data_array(*column);
-
-            for (j = 0; j < nr; j++) {
-                if (arrays[j] == NULL) {
-                    arrays[j] = cpl_array_new(depth, CPL_TYPE_LONG_LONG);
-                }
-                acolumn = cpl_array_get_column(arrays[j]);
-
-                if (cpl_column_has_invalid(acolumn) == 1) {
-                    lldata = cpl_column_get_data_long_long(acolumn);
-                    ndata = cpl_column_get_data_invalid(acolumn);
-
-                    if (ndata == NULL) {
-                        for (z = 0; z < depth; z++) {
-                            if (found[i]) {
-                                if (nval[i] != lldata[z]) {
-                                    found[i] = 0;
-                                    break;
-                                }
-                            }
-                            else {
-                                found[i] = 1;
-                                nval[i] = lldata[z];
-                            }
-                        }
-                    }
-                    else {
-                        for (z = 0; z < depth; z++) {
-                            if (ndata[z]) {
-                                if (found[i]) {
-                                    if (nval[i] != lldata[z]) {
-                                        found[i] = 0;
-                                        break;
-                                    }
-                                }
-                                else {
-                                    found[i] = 1;
-                                    nval[i] = lldata[z];
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-
-            /*
-             * Write the appropriate TNULLi keyword to header if necessary
-             */
-
-            if (found[i]) {
-
-                long long llnval = nval[i];  /* for consistency only! */
-
-                sprintf(tnull, "TNULL%d", i + 1);
-                fits_write_key(outfile, TLONGLONG, tnull, &llnval, NULL,
-                               &status);
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-            }
-
-            break;
-
-        default:
-            break;
-
-        }
-
-        /*
-         * Determine TDIM if the current column is an array column.
-         */
-
-        if (column_type & CPL_TYPE_POINTER) {
-
-            switch (column_type) {
-
-            case CPL_TYPE_INT | CPL_TYPE_POINTER:
-            case CPL_TYPE_LONG_LONG | CPL_TYPE_POINTER:
-            case CPL_TYPE_FLOAT | CPL_TYPE_POINTER:
-            case CPL_TYPE_DOUBLE | CPL_TYPE_POINTER:
-            case CPL_TYPE_FLOAT_COMPLEX | CPL_TYPE_POINTER:
-            case CPL_TYPE_DOUBLE_COMPLEX | CPL_TYPE_POINTER:
-
-                dimensions = cpl_column_get_dimensions(*column);
-
-                if (dimensions > 1) {
-                    cpl_size *naxes = cpl_malloc(dimensions * sizeof(cpl_size));
-
-                    for (z = 0; z < dimensions; z++)
-                        naxes[z] = cpl_column_get_dimension(*column, z);
-
-                    /*
-                     * Note the cast to int, to prevent compiler warnings.
-                     * Naturally "dimensions" is a size, so it should be
-                     * of type cpl_size. However in cfitsio is int.
-                     */
-
-                    {
-                        /*FIXME: debug purpose only.
-                         * Compatibility with cpl_size = int.
-                         */
-
-                        LONGLONG *longnaxes = cpl_malloc(dimensions *
-                                                         sizeof(LONGLONG));
-                        int       t;
-
-                        for (t = 0; t < dimensions; t++) {
-                            longnaxes[t] = (LONGLONG)naxes[t];
-                        }
-
-                        fits_write_tdimll(outfile, i + 1, (int)dimensions,
-                                          longnaxes, &status);
-
-                        cpl_free(longnaxes);
-
-                    }
-
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        status = 0;
-                        fits_delete_file(outfile, &status);
-                        return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                      "CFITSIO: %s", err_text);
-                    }
-
-                    cpl_free(naxes);
-                }
-
-                break;
-
-/* New part */
-
-            case CPL_TYPE_STRING | CPL_TYPE_POINTER:
-
-                /*
-                 * In the TDIM keyword will have to be written the total number
-                 * of characters for each string field, field_size, and the
-                 * number of fields for one table element, depth.
-                 */
-
-                {
-                    cpl_size *naxes = cpl_malloc(2 * sizeof(cpl_size));
-
-                    naxes[0] = field_size;
-                    naxes[1] = depth;
-
-                    {
-                        /*FIXME: debug purpose only.
-                         * Compatibility with cpl_size = int.
-                         */
-
-                        LONGLONG *longnaxes = cpl_malloc(2 * sizeof(LONGLONG));
-                        int       t;
-
-                        for (t = 0; t < 2; t++) {
-                            longnaxes[t] = (LONGLONG)naxes[t];
-                        }
-
-                        fits_write_tdimll(outfile, i + 1, 2, longnaxes, &status);
-
-                        cpl_free(longnaxes);
-
-                    }
-
-                    cpl_free(naxes);
-                }
-
-                break;
-
-/* End new part */
-
-            default:
-                break;       /* Nothing to do for other types... */
-            }
-
-        }
-
-    }
-
-    if (header) {
-
-        /*
-         *  Complete secondary header with property list information
-         */
-
-        if (cpl_fits_add_properties(outfile, header,
-                                    "^(" ERASE_WCS_REGEXP ")$|"
-                                    CPL_FITS_BADKEYS_EXT "|"
-                                    CPL_FITS_COMPRKEYS) != CPL_ERROR_NONE) {
-            fits_delete_file(outfile, &status);
-            return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                          "CFITSIO: %s", err_text);
-        }
-    }
-
-    fits_flush_file(outfile, &status);
-
-    if (status) {
-        fits_get_errstatus(status, err_text);
-        status = 0;
-        fits_delete_file(outfile, &status);
-        return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                      "CFITSIO: %s", err_text);
-    }
-
-    /*
-     *  Finally prepare the data section.
-     */
-
-    /*
-     * Get the max ideal number of rows to process at a time
-     */
-
-    fits_get_rowsize(outfile, &optimal_nrows, &status);
-
-    if (status) {
-        status = 0;
-        chunk = nr;
-    }
-    else {
-        chunk = (int)optimal_nrows; /* Note, this cast is really BAD */
-        if (chunk > nr)
-            chunk = nr;
-    }
-
-    spell = chunk;
-
-    for (k = 0; k < nr; k += chunk) {
-        if (chunk > nr - k) {
-            spell = nr - k;
-        }
-
-        column = table->columns;
-        for (i = 0; i < nc; i++, column++) {
-            depth = cpl_table_get_column_depth(table,
-                                               cpl_column_get_name(*column));
-
-            switch (cpl_column_get_type(*column)) {
-            case CPL_TYPE_STRING:
-
-                sdata = cpl_column_get_data_string_const(*column);
-                sdata += k;
-
-                /*
-                 * If there are NULL strings, assign a zero-length string
-                 * or a call to strcmp() in fits_write_colnull() would segfault.
-                 */
-
-                nstring = "";
-
-                for (j = 0; j < spell; j++)
-                    if (sdata[j] == NULL)
-                        sdata[j] = nstring;
-
-                /* fits_write_colnull() (v.3.330) is missing const modifiers,
-                   but the character arrays are _not_ modified. */
-
-                fits_write_colnull(outfile, TSTRING, i + 1, k + 1, 1, spell,
-                                   (void*)sdata, (void*)nstring, &status);
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-
-                /*
-                 * Restore the fake zero-length strings to a NULL pointer.
-                 * Note that this is done only if the zero-length string
-                 * is the one pointed by nstring: in this way the zero-length
-                 * strings that were already present in the table are not
-                 * leaked.
-                 */
-
-                for (j = 0; j < spell; j++)
-                    if (sdata[j] == nstring)
-                        sdata[j] = NULL;
-
-                break;
-
-            case CPL_TYPE_STRING | CPL_TYPE_POINTER:
-
-/* New part */
-
-                {
-
-                    int eccolo;
-                    int m, n;
-                    char *long_string = cpl_malloc(depth * field_size * sizeof(char));
-                    arrays = cpl_column_get_data_array(*column);
-                    arrays += k;
-
-                    nstring = "";
-
-                    for (z = 0; z < spell; z++) {
-                        if (arrays[z]) {
-
-                            sdata = cpl_array_get_data_string_const(arrays[z]);
-                            for (j = 0; j < depth; j++) {
-                                if (sdata[j] == NULL) {
-                                    sdata[j] = nstring;
-                                }
-                            }
-                        }
-                        else {
-                            sdata = cpl_malloc(depth * sizeof(char *));
-                            for (j = 0; j < depth; j++) {
-                                sdata[j] = nstring;
-                            }
-                        }
-                        for (m = 0, j = 0; j < depth; j++) {
-                            eccolo = 0;
-                            for (n = 0; n < field_size; n++, m++) {
-                                 if (sdata[j][n] == '\0') {
-                                     eccolo = 1;
-                                 }
-                                 if (eccolo) {
-                                     long_string[m] = ' ';
-                                 }
-                                 else {
-                                     long_string[m] = sdata[j][n];
-                                 }
-                            }
-//                            strncpy(long_string + j * field_size, sdata[j], field_size);
-                        }
-
-                        long_string[depth*field_size - 1] = '\0';
-
-/* "Correct one"
-                        fits_write_colnull(outfile, TSTRING, i + 1, k + z + 1,
-                                   1, depth, sdata, nstring, &status);
-*/
-
-                        /* fits_write_colnull() (v.3.330) is missing const
-                           modifiers, but the arrays are _not_ modified. :-(( */
-                        fits_write_colnull(outfile, TSTRING, i + 1, k + z + 1,
-                                           1, 1, (void *)&long_string,
-                                           (void *)nstring, &status);
-
-                        if (arrays[z]) {
-                            for (j = 0; j < depth; j++) {
-                                if (sdata[j] == nstring) {
-                                    sdata[j] = NULL;
-                                }
-                            }
-                        }
-                        else {
-                            cpl_free(sdata);
-                        }
-                    }
-                    cpl_free(long_string);
-                }
-
-/* End new part */
-
-                break;
-
-            case CPL_TYPE_INT:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                idata = cpl_column_get_data_int(*column);
-                idata += k;
-
-                if (cpl_column_get_save_type(*column) == CPL_TYPE_BOOL) {
-                    bdata = cpl_malloc(spell * sizeof(char));
-                    for (j = 0; j < spell; j++) {
-                        bdata[j] = idata[j];
-                    }
-                    if (found[i]) {
-                        char bnval = (char)nval[i];
-
-                        fits_write_colnull(outfile, TLOGICAL, i + 1, k + 1, 1,
-                                           spell, bdata, &bnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TLOGICAL, i + 1, k + 1, 1,
-                                       spell, bdata, &status);
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_CHAR) {
-                    bdata = cpl_malloc(spell * sizeof(char));
-                    for (j = 0; j < spell; j++) {
-                        bdata[j] = idata[j];
-                    }
-                    if (found[i]) {
-                        char bnval = (char)nval[i];
-
-                        fits_write_colnull(outfile, TSBYTE, i + 1, k + 1, 1,
-                                           spell, bdata, &bnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TSBYTE, i + 1, k + 1, 1,
-                                       spell, bdata, &status);
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_UCHAR) {
-                    ubdata = cpl_malloc(spell * sizeof(unsigned char));
-                    for (j = 0; j < spell; j++) {
-                        ubdata[j] = idata[j];
-                    }
-                    if (found[i]) {
-                        unsigned char ubnval = (unsigned char)nval[i];
-
-                        fits_write_colnull(outfile, TBYTE, i + 1, k + 1, 1,
-                                           spell, ubdata, &ubnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TBYTE, i + 1, k + 1, 1,
-                                       spell, ubdata, &status);
-                    }
-                    cpl_free(ubdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_SHORT) {
-                    sidata = cpl_malloc(spell * sizeof(short));
-                    for (j = 0; j < spell; j++) {
-                        sidata[j] = idata[j];
-                    }
-                    if (found[i]) {
-                        short sinval = (short)nval[i];
-
-                        fits_write_colnull(outfile, TSHORT, i + 1, k + 1, 1,
-                                           spell, sidata, &sinval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TSHORT, i + 1, k + 1, 1,
-                                       spell, sidata, &status);
-                    }
-                    cpl_free(sidata);
-                }
-                else {
-                    if (found[i]) {
-                        int inval = (int)nval[i];
-                        fits_write_colnull(outfile, TINT, i + 1, k + 1, 1,
-                                           spell, idata, &inval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TINT, i + 1, k + 1, 1, spell,
-                                       idata, &status);
-                    }
-                }
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-                break;
-
-            case CPL_TYPE_LONG_LONG:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                lldata = cpl_column_get_data_long_long(*column);
-                lldata += k;
-
-                if (cpl_column_get_save_type(*column) == CPL_TYPE_BOOL) {
-                    bdata = cpl_malloc(spell * sizeof(char));
-                    for (j = 0; j < spell; j++) {
-                        bdata[j] = lldata[j];
-                    }
-                    if (found[i]) {
-                        char bnval = (char)nval[i];
-
-                        fits_write_colnull(outfile, TLOGICAL, i + 1, k + 1, 1,
-                                           spell, bdata, &bnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TLOGICAL, i + 1, k + 1, 1,
-                                       spell, bdata, &status);
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_CHAR) {
-                    bdata = cpl_malloc(spell * sizeof(char));
-                    for (j = 0; j < spell; j++) {
-                        bdata[j] = lldata[j];
-                    }
-                    if (found[i]) {
-                        char bnval = (char)nval[i];
-
-                        fits_write_colnull(outfile, TSBYTE, i + 1, k + 1, 1,
-                                           spell, bdata, &bnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TSBYTE, i + 1, k + 1, 1,
-                                       spell, bdata, &status);
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_UCHAR) {
-                    ubdata = cpl_malloc(spell * sizeof(unsigned char));
-                    for (j = 0; j < spell; j++) {
-                        ubdata[j] = lldata[j];
-                    }
-                    if (found[i]) {
-                        unsigned char ubnval = (unsigned char)nval[i];
-
-                        fits_write_colnull(outfile, TBYTE, i + 1, k + 1, 1,
-                                           spell, ubdata, &ubnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TBYTE, i + 1, k + 1, 1,
-                                       spell, ubdata, &status);
-                    }
-                    cpl_free(ubdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_SHORT) {
-                    sidata = cpl_malloc(spell * sizeof(short));
-                    for (j = 0; j < spell; j++) {
-                        sidata[j] = lldata[j];
-                    }
-                    if (found[i]) {
-                        short sinval = (short)nval[i];
-
-                        fits_write_colnull(outfile, TSHORT, i + 1, k + 1, 1,
-                                           spell, sidata, &sinval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TSHORT, i + 1, k + 1, 1,
-                                       spell, sidata, &status);
-                    }
-                    cpl_free(sidata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_INT) {
-                    idata = cpl_malloc(spell * sizeof(int));
-                    for (j = 0; j < spell; j++) {
-                        idata[j] = lldata[j];
-                    }
-                    if (found[i]) {
-                        int inval = (int)nval[i];
-
-                        fits_write_colnull(outfile, TINT, i + 1, k + 1, 1,
-                                           spell, idata, &inval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TINT, i + 1, k + 1, 1,
-                                       spell, idata, &status);
-                    }
-                    cpl_free(idata);
-                }
-                else {
-                    if (found[i]) {
-
-                        long long llnval = nval[i];  /* for consistency only! */
-
-                        fits_write_colnull(outfile, TLONGLONG, i + 1, k + 1, 1,
-                                           spell, lldata, &llnval, &status);
-                    }
-                    else {
-                        fits_write_col(outfile, TLONGLONG, i + 1, k + 1, 1,
-                                       spell, lldata, &status);
-                    }
-                }
-
-                if (status) {
-                    fits_get_errstatus(status, err_text);
-                    status = 0;
-                    fits_delete_file(outfile, &status);
-                    return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                                  "CFITSIO: %s", err_text);
-                }
-                break;
-
-            case CPL_TYPE_FLOAT:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                fdata = cpl_column_get_data_float(*column);
-                fdata += k;
-
-                if (cpl_column_has_invalid(*column)) {
-
-                    /*
-                     * If some invalid values are present,
-                     * get also the array with invalid flags.
-                     */
-
-                    ndata = cpl_column_get_data_invalid(*column);
-                    if (ndata) {
-
-                        ndata += k;
-
-                        /*
-                         * Preliminarily fill this data section
-                         * including also the garbage (i.e., the
-                         * invalid values).
-                         */
-
-                        fits_write_col(outfile, TFLOAT, i + 1, k + 1, 1, spell,
-                                       fdata, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-
-                        /*
-                         * Finally overwrite the garbage with NaN.
-                         * The function fits_write_colnull(), that
-                         * would allow to do this operation in a single
-                         * step, is not used here because
-                         *
-                         *    1) it is based on == comparison between
-                         *       floats, and
-                         *    2) it would introduce an API change,
-                         *       forcing the user to specify a float
-                         *       value before saving a table column.
-                         */
-
-                        count = 0;
-                        for (j = 0; j < spell; j++) {
-                            if (ndata[j]) {
-
-                                /*
-                                 * Invalid flag found. If the first of
-                                 * a sequence mark its position, and
-                                 * keep counting.
-                                 */
-
-                                if (count == 0) {
-                                    fcount = k + j + 1;
-                                }
-                                count++;
-                            }
-                            else {
-
-                                /*
-                                 * Valid element found. If it's closing
-                                 * a sequence of invalid elements, dump
-                                 * it to this data section and reset
-                                 * counter.
-                                 */
-
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1, fcount,
-                                                        1, count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                    count = 0;
-                                }
-                            }
-                        }
-                        if (count) {
-                            fits_write_col_null(outfile, i + 1, fcount,
-                                                1, count, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + 1, 1,
-                                            spell, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                else {
-
-                    /*
-                     * No invalid values are present, simply copy
-                     * the whole array buffer to this data section.
-                     */
-
-                    fits_write_col(outfile, TFLOAT, i + 1, k + 1, 1, spell,
-                                   fdata, &status);
-
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        status = 0;
-                        fits_delete_file(outfile, &status);
-                        return cpl_error_set_message_
-                            (CPL_ERROR_FILE_NOT_CREATED,
-                             "CFITSIO: %s", err_text);
-                    }
-                }
-                break;
-
-            case CPL_TYPE_DOUBLE:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                ddata = cpl_column_get_data_double(*column);
-                ddata += k;
-
-                if (cpl_column_has_invalid(*column)) {
-
-                    /*
-                     * If some invalid values are present,
-                     * get also the array with invalid flags.
-                     */
-
-                    ndata = cpl_column_get_data_invalid(*column);
-                    if (ndata) {
-
-                        ndata += k;
-
-                        /*
-                         * Preliminarily fill this data section
-                         * including also the garbage (i.e., the
-                         * invalid values).
-                         */
-
-                        fits_write_col(outfile, TDOUBLE, i + 1, k + 1, 1,
-                                       spell, ddata, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-
-                        /*
-                         * Finally overwrite the garbage with NaN.
-                         * The function fits_write_colnull(), that
-                         * would allow to do this operation in a single
-                         * step, is not used here because
-                         *
-                         *    1) it is based on == comparison between
-                         *       floats, and
-                         *    2) it would introduce an API change,
-                         *       forcing the user to specify a float
-                         *       value before saving a table column.
-                         */
-
-                        count = 0;
-                        for (j = 0; j < spell; j++) {
-                            if (ndata[j]) {
-
-                                /*
-                                 * Invalid flag found. If the first of
-                                 * a sequence mark its position, and
-                                 * keep counting.
-                                 */
-
-                                if (count == 0) {
-                                    fcount = k + j + 1;
-                                }
-                                count++;
-                            }
-                            else {
-
-                                /*
-                                 * Valid element found. If it's closing
-                                 * a sequence of invalid elements, dump
-                                 * it to this data section and reset
-                                 * counter.
-                                 */
-
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1, fcount,
-                                                        1, count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                    count = 0;
-                                }
-                            }
-                        }
-                        if (count) {
-                            fits_write_col_null(outfile, i + 1, fcount,
-                                                1, count, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + 1, 1,
-                                            spell, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                else {
-
-                    /*
-                     * No invalid values are present, simply copy
-                     * the whole array buffer to this data section.
-                     */
-
-                    fits_write_col(outfile, TDOUBLE, i + 1, k + 1, 1,
-                                   spell, ddata, &status);
-
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        status = 0;
-                        fits_delete_file(outfile, &status);
-                        return cpl_error_set_message_
-                            (CPL_ERROR_FILE_NOT_CREATED,
-                             "CFITSIO: %s", err_text);
-                    }
-                }
-                break;
-
-            case CPL_TYPE_FLOAT_COMPLEX:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                fdata = cpl_malloc(2 * spell * sizeof(float));
-                cfdata = cpl_column_get_data_float_complex(*column);
-                cfdata += k;
-                for (j = 0; j < spell; j++) {
-                    fdata[2*j] = crealf(cfdata[j]);
-                    fdata[2*j + 1] = cimagf(cfdata[j]);
-                }
-
-                if (cpl_column_has_invalid(*column)) {
-
-                    /*
-                     * If some invalid values are present,
-                     * get also the array with invalid flags.
-                     */
-
-                    ndata = cpl_column_get_data_invalid(*column);
-                    if (ndata) {
-
-                        ndata += k;
-
-                        /*
-                         * Preliminarily fill this data section
-                         * including also the garbage (i.e., the
-                         * invalid values).
-                         */
-
-                        fits_write_col(outfile, TCOMPLEX, i + 1, k + 1, 1,
-                                       spell, fdata, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-
-                        /*
-                         * Finally overwrite the garbage with NaN.
-                         * The function fits_write_colnull(), that
-                         * would allow to do this operation in a single
-                         * step, is not used here because
-                         *
-                         *    1) it is based on == comparison between
-                         *       floats, and
-                         *    2) it would introduce an API change,
-                         *       forcing the user to specify a float
-                         *       value before saving a table column.
-                         */
-
-                        count = 0;
-                        for (j = 0; j < spell; j++) {
-                            if (ndata[j]) {
-
-                                /*
-                                 * Invalid flag found. If the first of
-                                 * a sequence, mark its position and
-                                 * keep counting.
-                                 */
-
-                                if (count == 0) {
-                                    fcount = k + j + 1;
-                                }
-                                count++;
-                            }
-                            else {
-
-                                /*
-                                 * Valid element found. If it's closing
-                                 * a sequence of invalid elements, dump
-                                 * it to this data section and reset
-                                 * counter.
-                                 */
-
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1, fcount,
-                                                        1, count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                    count = 0;
-                                }
-                            }
-                        }
-                        if (count) {
-                            fits_write_col_null(outfile, i + 1, fcount,
-                                                1, count, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + 1, 1,
-                                            spell, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                else {
-
-                    /*
-                     * No invalid values are present, simply copy
-                     * the whole array buffer to this data section.
-                     */
-
-                    fits_write_col(outfile, TCOMPLEX,
-                                   i + 1, k + 1, 1, spell, fdata, &status);
-
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        status = 0;
-                        fits_delete_file(outfile, &status);
-                        return cpl_error_set_message_
-                            (CPL_ERROR_FILE_NOT_CREATED,
-                             "CFITSIO: %s", err_text);
-                    }
-                }
-                cpl_free(fdata);
-                break;
-
-            case CPL_TYPE_DOUBLE_COMPLEX:
-
-                /*
-                 * Get the data buffer of the current column.
-                 */
-
-                ddata = cpl_malloc(2 * spell * sizeof(double));
-
-                cddata = cpl_column_get_data_double_complex(*column);
-                cddata += k;
-
-                for (j = 0; j < spell; j++) {
-                    ddata[2*j] = creal(cddata[j]);
-                    ddata[2*j + 1] = cimag(cddata[j]);
-                }
-
-                if (cpl_column_has_invalid(*column)) {
-
-                    /*
-                     * If some invalid values are present,
-                     * get also the array with invalid flags.
-                     */
-
-                    ndata = cpl_column_get_data_invalid(*column);
-                    if (ndata) {
-
-                        ndata += k;
-
-                        /*
-                         * Preliminarily fill this data section
-                         * including also the garbage (i.e., the
-                         * invalid values).
-                         */
-
-                        fits_write_col(outfile, TDBLCOMPLEX, i + 1, k + 1, 1,
-                                       spell, ddata, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-
-                        /*
-                         * Finally overwrite the garbage with NaN.
-                         * The function fits_write_colnull(), that
-                         * would allow to do this operation in a single
-                         * step, is not used here because
-                         *
-                         *    1) it is based on == comparison between
-                         *       floats, and
-                         *    2) it would introduce an API change,
-                         *       forcing the user to specify a float
-                         *       value before saving a table column.
-                         */
-
-                        count = 0;
-                        for (j = 0; j < spell; j++) {
-                            if (ndata[j]) {
-
-                                /*
-                                 * Invalid flag found. If the first of
-                                 * a sequence mark its position, and
-                                 * keep counting.
-                                 */
-
-                                if (count == 0) {
-                                    fcount = k + j + 1;
-                                }
-                                count++;
-                            }
-                            else {
-
-                                /*
-                                 * Valid element found. If it's closing
-                                 * a sequence of invalid elements, dump
-                                 * it to this data section and reset
-                                 * counter.
-                                 */
-
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1, fcount,
-                                                        1, count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                    count = 0;
-                                }
-                            }
-                        }
-                        if (count) {
-                            fits_write_col_null(outfile, i + 1, fcount,
-                                                1, count, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + 1, 1,
-                                            spell, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                else {
-
-                    /*
-                     * No invalid values are present, simply copy
-                     * the whole array buffer to this data section.
-                     */
-
-                    fits_write_col(outfile, TDBLCOMPLEX, i + 1, k + 1, 1,
-                                   spell, ddata, &status);
-
-                    if (status) {
-                        fits_get_errstatus(status, err_text);
-                        status = 0;
-                        fits_delete_file(outfile, &status);
-                        return cpl_error_set_message_
-                            (CPL_ERROR_FILE_NOT_CREATED,
-                             "CFITSIO: %s", err_text);
-                    }
-                }
-                cpl_free(ddata);
-                break;
-
-            case CPL_TYPE_INT | CPL_TYPE_POINTER:
-                if(depth == 0)
-                    break;
-
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                if (cpl_column_get_save_type(*column) == CPL_TYPE_BOOL) {
-                    bdata = cpl_malloc(depth * sizeof(char));
-                    if (found[i]) {
-
-                        char bnval = (char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = idata[z];
-                            }
-                            fits_write_colnull(outfile, TLOGICAL,
-                                               i + 1, k + j + 1, 1,
-                                               depth, bdata, &bnval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = idata[z];
-                            }
-                            fits_write_col(outfile, TLOGICAL, i + 1,
-                                           k + j + 1, 1, depth, bdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_CHAR) {
-                    bdata = cpl_malloc(depth * sizeof(char));
-                    if (found[i]) {
-
-                        char bnval = (char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = idata[z];
-                            }
-                            fits_write_colnull(outfile, TSBYTE, i + 1,
-                                               k + j + 1, 1, depth, bdata,
-                                               &bnval, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = idata[z];
-                            }
-                            fits_write_col(outfile, TSBYTE, i + 1,
-                                           k + j + 1, 1, depth, bdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_UCHAR) {
-                    ubdata = cpl_malloc(depth * sizeof(unsigned char));
-                    if (found[i]) {
-
-                        unsigned char ubnval = (unsigned char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                ubdata[z] = idata[z];
-                            }
-                            fits_write_colnull(outfile, TBYTE, i + 1,
-                                               k + j + 1, 1,
-                                               depth, ubdata, &ubnval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                ubdata[z] = idata[z];
-                            }
-                            fits_write_col(outfile, TBYTE, i + 1,
-                                           k + j + 1, 1,
-                                           depth, ubdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(ubdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_SHORT) {
-                    sidata = cpl_malloc(depth * sizeof(short));
-                    if (found[i]) {
-
-                        short sinval = (short)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                sidata[z] = idata[z];
-                            }
-                            fits_write_colnull(outfile, TSHORT, i + 1,
-                                               k + j + 1, 1,
-                                               depth, sidata, &sinval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            idata = cpl_column_get_data_int(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                sidata[z] = idata[z];
-                            }
-                            fits_write_col(outfile, TSHORT, i + 1,
-                                           k + j + 1, 1,
-                                           depth, sidata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(sidata);
-                }
-                else {
-                    if (found[i]) {
-
-                        int inval = (int)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            fits_write_colnull(outfile, TINT, i + 1,
-                                               k + j + 1, 1, depth,
-                                               cpl_column_get_data_int(acolumn),
-                                               &inval, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            fits_write_col(outfile, TINT,
-                                           i + 1, k + j + 1, 1, depth,
-                                           cpl_column_get_data_int(acolumn),
-                                           &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                }
-                break;
-
-            case CPL_TYPE_LONG_LONG | CPL_TYPE_POINTER:
-                if(depth == 0)
-                    break;
-
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                if (cpl_column_get_save_type(*column) == CPL_TYPE_BOOL) {
-                    bdata = cpl_malloc(depth * sizeof(char));
-                    if (found[i]) {
-
-                        char bnval = (char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = lldata[z];
-                            }
-                            fits_write_colnull(outfile, TLOGICAL,
-                                               i + 1, k + j + 1, 1,
-                                               depth, bdata, &bnval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = lldata[z];
-                            }
-                            fits_write_col(outfile, TLOGICAL, i + 1,
-                                           k + j + 1, 1, depth, bdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_CHAR) {
-                    bdata = cpl_malloc(depth * sizeof(char));
-                    if (found[i]) {
-
-                        char bnval = (char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = lldata[z];
-                            }
-                            fits_write_colnull(outfile, TSBYTE, i + 1,
-                                               k + j + 1, 1, depth, bdata,
-                                               &bnval, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                bdata[z] = lldata[z];
-                            }
-                            fits_write_col(outfile, TSBYTE, i + 1,
-                                           k + j + 1, 1, depth, bdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(bdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_UCHAR) {
-                    ubdata = cpl_malloc(depth * sizeof(unsigned char));
-                    if (found[i]) {
-
-                        unsigned char ubnval = (unsigned char)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                ubdata[z] = lldata[z];
-                            }
-                            fits_write_colnull(outfile, TBYTE, i + 1,
-                                               k + j + 1, 1,
-                                               depth, ubdata, &ubnval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                ubdata[z] = lldata[z];
-                            }
-                            fits_write_col(outfile, TBYTE, i + 1,
-                                           k + j + 1, 1,
-                                           depth, ubdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(ubdata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_SHORT) {
-                    sidata = cpl_malloc(depth * sizeof(short));
-                    if (found[i]) {
-
-                        short sinval = (short)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                               sidata[z] = lldata[z];
-                            }
-                            fits_write_colnull(outfile, TSHORT, i + 1,
-                                               k + j + 1, 1,
-                                               depth, sidata, &sinval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                sidata[z] = lldata[z];
-                            }
-                            fits_write_col(outfile, TSHORT, i + 1,
-                                           k + j + 1, 1,
-                                           depth, sidata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(sidata);
-                }
-                else if (cpl_column_get_save_type(*column) == CPL_TYPE_INT) {
-                    idata = cpl_malloc(depth * sizeof(int));
-                    if (found[i]) {
-
-                        int inval = (int)nval[i];
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                               idata[z] = lldata[z];
-                            }
-                            fits_write_colnull(outfile, TINT, i + 1,
-                                               k + j + 1, 1,
-                                               depth, idata, &inval,
-                                               &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            lldata = cpl_column_get_data_long_long(acolumn);
-                            for (z = 0; z < depth; z++) {
-                                idata[z] = lldata[z];
-                            }
-                            fits_write_col(outfile, TINT, i + 1,
-                                           k + j + 1, 1,
-                                           depth, idata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    cpl_free(idata);
-                }
-                else {
-                    if (found[i]) {
-
-                        long long llnval = nval[i];  /* for consistency only! */
-
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            fits_write_colnull(outfile, TLONGLONG, i + 1,
-                                               k + j + 1, 1, depth,
-                                               cpl_column_get_data_long_long(acolumn),
-                                               &llnval, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-                        for (j = 0; j < spell; j++) {
-                            acolumn = cpl_array_get_column(arrays[j]);
-                            fits_write_col(outfile, TLONGLONG,
-                                           i + 1, k + j + 1, 1, depth,
-                                           cpl_column_get_data_long_long(acolumn),
-                                           &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                }
-                break;
-
-            case CPL_TYPE_FLOAT | CPL_TYPE_POINTER:
-                if (depth == 0)
-                    break;
-
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                for (j = 0; j < spell; j++) {
-
-                    if (arrays[j]) {
-
-                        /*
-                         * Get the data buffer of the current array.
-                         */
-
-                        acolumn = cpl_array_get_column(arrays[j]);
-                        fdata = cpl_column_get_data_float(acolumn);
-
-                        if (cpl_column_has_invalid(acolumn)) {
-
-                            /*
-                             * If some invalid values are present,
-                             * get also the array with invalid flags.
-                             */
-
-                            ndata = cpl_column_get_data_invalid(acolumn);
-                            if (ndata) {
-
-                                /*
-                                 * Preliminarily fill this data section
-                                 * including also the garbage (i.e., the
-                                 * invalid values).
-                                 */
-
-                                fits_write_col(outfile, TFLOAT, i + 1,
-                                               k + j + 1, 1, depth, fdata,
-                                               &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-
-                                /*
-                                 * Finally overwrite the garbage with NaN.
-                                 * The function fits_write_colnull(), that
-                                 * would allow to do this operation in a single
-                                 * step, is not used here because
-                                 *
-                                 *    1) it is based on == comparison between
-                                 *       floats, and
-                                 *    2) it would introduce an API change,
-                                 *       forcing the user to specify a float
-                                 *       value before saving a table column.
-                                 */
-
-                                count = 0;
-                                for (z = 0; z < depth; z++) {
-                                    if (ndata[z]) {
-
-                                        /*
-                                         * Invalid flag found. If the first of
-                                         * a sequence mark its position, and
-                                         * keep counting.
-                                         */
-
-                                        if (count == 0) {
-                                            fcount = z + 1;
-                                        }
-                                        count++;
-                                    }
-                                    else {
-
-                                        /*
-                                         * Valid element found. If it's closing
-                                         * a sequence of invalid elements, dump
-                                         * it to this data section and reset
-                                         * counter.
-                                         */
-
-                                        if (count) {
-                                            fits_write_col_null(outfile, i + 1,
-                                                                k + j + 1,
-                                                                fcount, count,
-                                                                &status);
-
-                                            if (status) {
-                                                fits_get_errstatus(status,
-                                                                   err_text);
-                                                status = 0;
-                                                fits_delete_file(outfile,
-                                                                 &status);
-                                                return cpl_error_set_message_
-                                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                                     "CFITSIO: %s", err_text);
-                                            }
-                                            count = 0;
-                                        }
-                                    }
-                                }
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1,
-                                                        k + j + 1,
-                                                        fcount, count,
-                                                        &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                }
-                            }
-                            else {
-
-                                /*
-                                 * All elements are invalid: just pad with NaN
-                                 * the current data section.
-                                 */
-
-                                fits_write_col_null(outfile, i + 1, k + j + 1,
-                                                    1, depth, &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-                            }
-                        }
-                        else {
-
-                            /*
-                             * No invalid values are present, simply copy
-                             * the whole array buffer to this data section.
-                             */
-
-                            fits_write_col(outfile, TFLOAT, i + 1,
-                                           k + j + 1, 1,
-                                           depth, fdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + j + 1,
-                                            1, depth, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                break;
-
-            case CPL_TYPE_DOUBLE | CPL_TYPE_POINTER:
-                if (depth == 0)
-                    break;
-
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                for (j = 0; j < spell; j++) {
-
-                    if (arrays[j]) {
-
-                        /*
-                         * Get the data buffer of the current array.
-                         */
-
-                        acolumn = cpl_array_get_column(arrays[j]);
-                        ddata = cpl_column_get_data_double(acolumn);
-
-                        if (cpl_column_has_invalid(acolumn)) {
-
-                            /*
-                             * If some invalid values are present,
-                             * get also the array with invalid flags.
-                             */
-
-                            ndata = cpl_column_get_data_invalid(acolumn);
-                            if (ndata) {
-
-                                /*
-                                 * Preliminarily fill this data section
-                                 * including also the garbage (i.e., the
-                                 * invalid values).
-                                 */
-
-                                fits_write_col(outfile, TDOUBLE, i + 1,
-                                               k + j + 1, 1, depth, ddata,
-                                               &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-
-                                /*
-                                 * Finally overwrite the garbage with NaN.
-                                 * The function fits_write_colnull(), that
-                                 * would allow to do this operation in a single
-                                 * step, is not used here because
-                                 *
-                                 *    1) it is based on == comparison between
-                                 *       floats, and
-                                 *    2) it would introduce an API change,
-                                 *       forcing the user to specify a float
-                                 *       value before saving a table column.
-                                 */
-
-                                count = 0;
-                                for (z = 0; z < depth; z++) {
-                                    if (ndata[z]) {
-
-                                        /*
-                                         * Invalid flag found. If the first of
-                                         * a sequence mark its position, and
-                                         * keep counting.
-                                         */
-
-                                        if (count == 0) {
-                                            fcount = z + 1;
-                                        }
-                                        count++;
-                                    }
-                                    else {
-
-                                        /*
-                                         * Valid element found. If it's closing
-                                         * a sequence of invalid elements, dump
-                                         * it to this data section and reset
-                                         * counter.
-                                         */
-
-                                        if (count) {
-                                            fits_write_col_null(outfile, i + 1,
-                                                                k + j + 1,
-                                                                fcount, count,
-                                                                &status);
-
-                                            if (status) {
-                                                fits_get_errstatus(status,
-                                                                   err_text);
-                                                status = 0;
-                                                fits_delete_file(outfile,
-                                                                 &status);
-                                                return cpl_error_set_message_
-                                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                                     "CFITSIO: %s", err_text);
-                                            }
-                                            count = 0;
-                                        }
-                                    }
-                                }
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1,
-                                                        k + j + 1, fcount,
-                                                        count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                }
-                            }
-                            else {
-
-                                /*
-                                 * All elements are invalid: just pad with NaN
-                                 * the current data section.
-                                 */
-
-                                fits_write_col_null(outfile, i + 1, k + j + 1,
-                                                    1, depth, &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-                            }
-                        }
-                        else {
-
-                            /*
-                             * No invalid values are present, simply copy
-                             * the whole array buffer to this data section.
-                             */
-
-                            fits_write_col(outfile, TDOUBLE, i + 1, k + j + 1,
-                                           1, depth, ddata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + j + 1,
-                                            1, depth, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                break;
-
-            case CPL_TYPE_FLOAT_COMPLEX | CPL_TYPE_POINTER:
-                if (depth == 0)
-                    break;
-
-                fdata = cpl_malloc(2 * depth * sizeof(float));
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                for (j = 0; j < spell; j++) {
-
-                    if (arrays[j]) {
-
-                        /*
-                         * Get the data buffer of the current array.
-                         */
-
-                        acolumn = cpl_array_get_column(arrays[j]);
-                        cfdata = cpl_column_get_data_float_complex(acolumn);
-
-                        for (z = 0; z < depth; z++) {
-                            fdata[2*z] = crealf(cfdata[z]);
-                            fdata[2*z + 1] = cimagf(cfdata[z]);
-                        }
-
-                        if (cpl_column_has_invalid(acolumn)) {
-
-                            /*
-                             * If some invalid values are present,
-                             * get also the array with invalid flags.
-                             */
-
-                            ndata = cpl_column_get_data_invalid(acolumn);
-                            if (ndata) {
-
-                                /*
-                                 * Preliminarily fill this data section
-                                 * including also the garbage (i.e., the
-                                 * invalid values).
-                                 */
-
-                                fits_write_col(outfile, TCOMPLEX, i + 1,
-                                               k + j + 1, 1, depth, fdata,
-                                               &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-
-                                /*
-                                 * Finally overwrite the garbage with NaN.
-                                 * The function fits_write_colnull(), that
-                                 * would allow to do this operation in a single
-                                 * step, is not used here because
-                                 *
-                                 *    1) it is based on == comparison between
-                                 *       floats, and
-                                 *    2) it would introduce an API change,
-                                 *       forcing the user to specify a float
-                                 *       value before saving a table column.
-                                 */
-
-                                count = 0;
-                                for (z = 0; z < depth; z++) {
-                                    if (ndata[z]) {
-
-                                        /*
-                                         * Invalid flag found. If the first of
-                                         * a sequence mark its position, and
-                                         * keep counting.
-                                         */
-
-                                        if (count == 0) {
-                                            fcount = z + 1;
-                                        }
-                                        count++;
-                                    }
-                                    else {
-
-                                        /*
-                                         * Valid element found. If it's closing
-                                         * a sequence of invalid elements, dump
-                                         * it to this data section and reset
-                                         * counter.
-                                         */
-
-                                        if (count) {
-                                            fits_write_col_null(outfile, i + 1,
-                                                                k + j + 1,
-                                                                fcount, count,
-                                                                &status);
-
-                                            if (status) {
-                                                fits_get_errstatus(status,
-                                                                   err_text);
-                                                status = 0;
-                                                fits_delete_file(outfile,
-                                                                 &status);
-                                                return cpl_error_set_message_
-                                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                                     "CFITSIO: %s", err_text);
-                                            }
-                                            count = 0;
-                                        }
-                                    }
-                                }
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1,
-                                                        k + j + 1,
-                                                        fcount, count,
-                                                        &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                }
-                            }
-                            else {
-
-                                /*
-                                 * All elements are invalid: just pad with NaN
-                                 * the current data section.
-                                 */
-
-                                fits_write_col_null(outfile, i + 1, k + j + 1,
-                                                    1, depth, &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-                            }
-                        }
-                        else {
-
-                            /*
-                             * No invalid values are present, simply copy
-                             * the whole array buffer to this data section.
-                             */
-
-                            fits_write_col(outfile, TCOMPLEX, i + 1,
-                                           k + j + 1, 1,
-                                           depth, fdata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + j + 1,
-                                            1, depth, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                cpl_free(fdata);
-                break;
-
-            case CPL_TYPE_DOUBLE_COMPLEX | CPL_TYPE_POINTER:
-                if (depth == 0)
-                    break;
-
-                ddata = cpl_malloc(2 * depth * sizeof(double));
-                arrays = cpl_column_get_data_array(*column);
-                arrays += k;
-
-                for (j = 0; j < spell; j++) {
-
-                    if (arrays[j]) {
-
-                        /*
-                         * Get the data buffer of the current array.
-                         */
-
-                        acolumn = cpl_array_get_column(arrays[j]);
-                        cddata = cpl_column_get_data_double_complex(acolumn);
-
-                        for (z = 0; z < depth; z++) {
-                            ddata[2*z] = creal(cddata[z]);
-                            ddata[2*z + 1] = cimag(cddata[z]);
-                        }
-
-                        if (cpl_column_has_invalid(acolumn)) {
-
-                            /*
-                             * If some invalid values are present,
-                             * get also the array with invalid flags.
-                             */
-
-                            ndata = cpl_column_get_data_invalid(acolumn);
-                            if (ndata) {
-
-                                /*
-                                 * Preliminarily fill this data section
-                                 * including also the garbage (i.e., the
-                                 * invalid values).
-                                 */
-
-                                fits_write_col(outfile, TDBLCOMPLEX, i + 1,
-                                               k + j + 1, 1, depth, ddata,
-                                               &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-
-                                /*
-                                 * Finally overwrite the garbage with NaN.
-                                 * The function fits_write_colnull(), that
-                                 * would allow to do this operation in a single
-                                 * step, is not used here because
-                                 *
-                                 *    1) it is based on == comparison between
-                                 *       floats, and
-                                 *    2) it would introduce an API change,
-                                 *       forcing the user to specify a float
-                                 *       value before saving a table column.
-                                 */
-
-                                count = 0;
-                                for (z = 0; z < depth; z++) {
-                                    if (ndata[z]) {
-
-                                        /*
-                                         * Invalid flag found. If the first of
-                                         * a sequence mark its position, and
-                                         * keep counting.
-                                         */
-
-                                        if (count == 0) {
-                                            fcount = z + 1;
-                                        }
-                                        count++;
-                                    }
-                                    else {
-
-                                        /*
-                                         * Valid element found. If it's closing
-                                         * a sequence of invalid elements, dump
-                                         * it to this data section and reset
-                                         * counter.
-                                         */
-
-                                        if (count) {
-                                            fits_write_col_null(outfile, i + 1,
-                                                                k + j + 1,
-                                                                fcount, count,
-                                                                &status);
-
-                                            if (status) {
-                                                fits_get_errstatus(status,
-                                                                   err_text);
-                                                status = 0;
-                                                fits_delete_file(outfile,
-                                                                 &status);
-                                                return cpl_error_set_message_
-                                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                                     "CFITSIO: %s", err_text);
-                                            }
-                                            count = 0;
-                                        }
-                                    }
-                                }
-                                if (count) {
-                                    fits_write_col_null(outfile, i + 1,
-                                                        k + j + 1, fcount,
-                                                        count, &status);
-
-                                    if (status) {
-                                        fits_get_errstatus(status, err_text);
-                                        status = 0;
-                                        fits_delete_file(outfile, &status);
-                                        return cpl_error_set_message_
-                                            (CPL_ERROR_FILE_NOT_CREATED,
-                                             "CFITSIO: %s", err_text);
-                                    }
-                                }
-                            }
-                            else {
-
-                                /*
-                                 * All elements are invalid: just pad with NaN
-                                 * the current data section.
-                                 */
-
-                                fits_write_col_null(outfile, i + 1, k + j + 1,
-                                                    1, depth, &status);
-
-                                if (status) {
-                                    fits_get_errstatus(status, err_text);
-                                    status = 0;
-                                    fits_delete_file(outfile, &status);
-                                    return cpl_error_set_message_
-                                        (CPL_ERROR_FILE_NOT_CREATED,
-                                         "CFITSIO: %s", err_text);
-                                }
-                            }
-                        }
-                        else {
-
-                            /*
-                             * No invalid values are present, simply copy
-                             * the whole array buffer to this data section.
-                             */
-
-                            fits_write_col(outfile, TDBLCOMPLEX, i + 1,
-                                           k + j + 1, 1, depth, ddata, &status);
-
-                            if (status) {
-                                fits_get_errstatus(status, err_text);
-                                status = 0;
-                                fits_delete_file(outfile, &status);
-                                return cpl_error_set_message_
-                                    (CPL_ERROR_FILE_NOT_CREATED,
-                                     "CFITSIO: %s", err_text);
-                            }
-                        }
-                    }
-                    else {
-
-                        /*
-                         * All elements are invalid: just pad with NaN
-                         * the current data section.
-                         */
-
-                        fits_write_col_null(outfile, i + 1, k + j + 1,
-                                            1, depth, &status);
-
-                        if (status) {
-                            fits_get_errstatus(status, err_text);
-                            status = 0;
-                            fits_delete_file(outfile, &status);
-                            return cpl_error_set_message_
-                                (CPL_ERROR_FILE_NOT_CREATED,
-                                 "CFITSIO: %s", err_text);
-                        }
-                    }
-                }
-                cpl_free(ddata);
-                break;
-
-            default:
-                break;       /* Should never get here... */
-            }
-        }
-    }
-
-    cpl_free(nval);
-    cpl_free(found);
-    cpl_free(nb);
-
-    /*
-     * Overwrite the date of creation to the primary array.
-     * The "DATE" record was already written, for reserving
-     * that position in header and not having "DATE" as the
-     * last record in header (DFS04595), but that wouldn't
-     * be exactly the creation date.
-     */
-
-    fits_movabs_hdu(outfile, 1, NULL, &status);
-    fits_write_date(outfile, &status);
-    if (status) {
-        fits_get_errstatus(status, err_text);
-        status = 0;
-        fits_delete_file(outfile, &status);
-        return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                      "CFITSIO: %s", err_text);
-    }
-
-    cpl_io_fits_close_file(outfile, &status);
-
-    if (status) {
-        fits_get_errstatus(status, err_text);
-        status = 0;
-        fits_delete_file(outfile, &status);
-        return cpl_error_set_message_(CPL_ERROR_FILE_NOT_CREATED,
-                                      "CFITSIO: %s", err_text);
-    }
-
-    return CPL_ERROR_NONE;
-
-}
-#endif
 
 /*
  * Temporary driver function to dispatch only CPL_IO_APPEND mode requests
@@ -31559,6 +28443,7 @@ _cpl_table_save_legacy(const cpl_table *table,
  * NAXIS, EXTEND, BLOCKED, and END, are ignored: such entries would
  * be written anyway to the primary header and set to some standard
  * values.
+ *
  * If a @c NULL @em pheader is passed, the primary array would be created
  * with just such entries, that are mandatory in any regular FITS file.
  * The second property list, @em header, is assumed to contain entries
@@ -31572,14 +28457,17 @@ _cpl_table_save_legacy(const cpl_table *table,
  * added automatically.
  *
  * @note
- *   Invalid strings in columns of type @c CPL_TYPE_STRING are
- *   written to FITS as blanks. Invalid values in columns of type
- *   @c CPL_TYPE_FLOAT or @c CPL_TYPE_DOUBLE will be written to
- *   the FITS file as a @c NaN. Invalid values in columns of type
- *   @c CPL_TYPE_INT  and @c CPL_TYPE_LONG_LONG are the only ones
- *   that need a specific code to be explicitly assigned to them.
- *   This can be realised by calling the functions cpl_table_fill_invalid_int()
- *   and cpl_table_fill_invalid_long_long(), respectively, for each table
+ * - Invalid strings in columns of type @c CPL_TYPE_STRING are
+ *   written to FITS as blanks.
+ *
+ * - Invalid values in columns of type @c CPL_TYPE_FLOAT or
+ *   @c CPL_TYPE_DOUBLE will be written to the FITS file as a @c NaN.
+ *
+ * - Invalid values in columns of type @c CPL_TYPE_INT  and
+ *   @c CPL_TYPE_LONG_LONG are the only ones that need a specific code to
+ *   be explicitly assigned to them. This can be realised by calling the
+ *   functions cpl_table_fill_invalid_int() and
+ *   cpl_table_fill_invalid_long_long(), respectively, for each table
  *   column of type @c CPL_TYPE_INT and @c CPL_TYPE_LONG_LONG
  *   containing invalid values, just before saving the table to FITS. The
  *   numerical values identifying invalid integer column elements
diff --git a/cplcore/tests/Makefile.in b/cplcore/tests/Makefile.in
index c5cb7e4..fd4042f 100644
--- a/cplcore/tests/Makefile.in
+++ b/cplcore/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -110,8 +120,6 @@ TESTS = cpl_image_io-test$(EXEEXT) cpl_image_basic-test$(EXEEXT) \
 	cpl_bivector-test$(EXEEXT) cpl_property-test$(EXEEXT) \
 	cpl_propertylist-test$(EXEEXT) cpl_median-test$(EXEEXT)
 subdir = cplcore/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(top_srcdir)/admin/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -121,6 +129,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -592,6 +601,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/admin/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -681,6 +692,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -832,7 +844,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cplcore/tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cplcore/tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1136,7 +1147,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1644,6 +1655,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # We need to remove any files that the above tests created.
 clean-local:
diff --git a/cpldfs/Makefile.in b/cpldfs/Makefile.in
index d279f43..7cf6cb8 100644
--- a/cpldfs/Makefile.in
+++ b/cpldfs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cpldfs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(include_HEADERS) \
-	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -92,6 +99,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -213,6 +222,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -327,6 +337,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -449,7 +460,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpldfs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cpldfs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -846,6 +856,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 cpl_dfs.c: $(srcdir)/md5.h $(srcdir)/md5.c
 
diff --git a/cpldfs/tests/Makefile.in b/cpldfs/tests/Makefile.in
index 01c5c82..6c42abc 100644
--- a/cpldfs/tests/Makefile.in
+++ b/cpldfs/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,8 +91,6 @@ check_PROGRAMS = cpl_dfs-test$(EXEEXT)
 TESTS = cpl_dfs-test$(EXEEXT)
 XFAIL_TESTS =
 subdir = cpldfs/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(top_srcdir)/admin/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -92,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -370,6 +379,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/admin/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -459,6 +470,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -577,7 +589,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpldfs/tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cpldfs/tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -726,7 +737,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1017,6 +1028,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # We need to remove any files that the above tests created.
 clean-local:
diff --git a/cpldrs/Makefile.in b/cpldrs/Makefile.in
index 5b07c43..ffe5895 100644
--- a/cpldrs/Makefile.in
+++ b/cpldrs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cpldrs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(include_HEADERS) \
-	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -92,6 +99,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -215,6 +224,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -329,6 +339,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -479,7 +490,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpldrs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cpldrs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -883,6 +893,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/cpldrs/cpl_fft.c b/cpldrs/cpl_fft.c
index 792bd2f..a9fd488 100644
--- a/cpldrs/cpl_fft.c
+++ b/cpldrs/cpl_fft.c
@@ -233,10 +233,10 @@ static cpl_error_code cpl_fft_image_(cpl_image * self, const cpl_image * other,
     cpl_ensure_code((cpl_size)nxout == lnxout, CPL_ERROR_UNSUPPORTED_MODE);
     cpl_ensure_code((cpl_size)nyout == lnyout, CPL_ERROR_UNSUPPORTED_MODE);
 
-    if (mode & CPL_FFT_FORWARD && !(typin & CPL_TYPE_COMPLEX)) {
+    if ((mode & CPL_FFT_FORWARD) && !(typin & CPL_TYPE_COMPLEX)) {
         cpl_ensure_code(nxin == nxout || nxout == nxh,
                         CPL_ERROR_INCOMPATIBLE_INPUT);
-    } else if (mode & CPL_FFT_BACKWARD && !(typout & CPL_TYPE_COMPLEX)) {
+    } else if ((mode & CPL_FFT_BACKWARD) && !(typout & CPL_TYPE_COMPLEX)) {
         cpl_ensure_code(nxin == nxout || nxin == nxh,
                         CPL_ERROR_INCOMPATIBLE_INPUT);
     } else {
diff --git a/cpldrs/tests/Makefile.in b/cpldrs/tests/Makefile.in
index 4457c36..f7397ad 100644
--- a/cpldrs/tests/Makefile.in
+++ b/cpldrs/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,8 +99,6 @@ TESTS = cpl_fit-test$(EXEEXT) cpl_apertures-test$(EXEEXT) \
 	cpl_fft-test$(EXEEXT)
 XFAIL_TESTS =
 subdir = cpldrs/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(top_srcdir)/admin/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -100,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -426,6 +435,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/admin/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -515,6 +526,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -643,7 +655,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpldrs/tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cpldrs/tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -832,7 +843,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1179,6 +1190,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # We need to remove any files that the above tests created.
 clean-local:
diff --git a/cpljava/Makefile.in b/cpljava/Makefile.in
index 83eed72..dade194 100644
--- a/cpljava/Makefile.in
+++ b/cpljava/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,8 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cpljava
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -91,6 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -196,6 +205,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -285,6 +295,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -409,7 +420,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cpljava/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cpljava/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -713,6 +723,8 @@ uninstall-am: uninstall-libLTLIBRARIES
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 $(GASGANO_NATIVE_INCLUDES):
 	@class="`echo $@ | sed -e 's/\.h$$//' | sed -e 's/_/\./g'`"; \
diff --git a/cplui/Makefile.in b/cplui/Makefile.in
index a5a2f62..3c20483 100644
--- a/cplui/Makefile.in
+++ b/cplui/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cplui
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(include_HEADERS) \
-	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -92,6 +99,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -216,6 +225,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -330,6 +340,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -455,7 +466,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cplui/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cplui/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -860,6 +870,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
 	uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/cplui/tests/Makefile.in b/cplui/tests/Makefile.in
index c0ba57d..66cea88 100644
--- a/cplui/tests/Makefile.in
+++ b/cplui/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -89,8 +99,6 @@ TESTS = cpl_frame-test$(EXEEXT) cpl_frameset-test$(EXEEXT) \
 	cpl_recipedefine-test$(EXEEXT) cpl_recipeconfig-test$(EXEEXT)
 XFAIL_TESTS =
 subdir = cplui/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(top_srcdir)/admin/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -100,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/cpl.m4 $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -445,6 +454,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/admin/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -534,6 +545,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -662,7 +674,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cplui/tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cplui/tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -856,7 +867,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1210,6 +1221,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # We need to remove any files that the above tests created.
 clean-local:
diff --git a/html/annotated.html b/html/annotated.html
index 6271980..0815a9b 100644
--- a/html/annotated.html
+++ b/html/annotated.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/classes.html b/html/classes.html
index ca361ed..605f336 100644
--- a/html/classes.html
+++ b/html/classes.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/deprecated.html b/html/deprecated.html
index 95f517f..f52a447 100644
--- a/html/deprecated.html
+++ b/html/deprecated.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/dir_0893a83ae506d6342ff4de074eaf5145.html b/html/dir_0893a83ae506d6342ff4de074eaf5145.html
index 70fffa0..f02a06c 100644
--- a/html/dir_0893a83ae506d6342ff4de074eaf5145.html
+++ b/html/dir_0893a83ae506d6342ff4de074eaf5145.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/dir_283883d147ab9a845d7032d17e09a122.html b/html/dir_283883d147ab9a845d7032d17e09a122.html
index 39ddcd4..9824a09 100644
--- a/html/dir_283883d147ab9a845d7032d17e09a122.html
+++ b/html/dir_283883d147ab9a845d7032d17e09a122.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/dir_5cd28bf58103222faf21a5533c3a1fe9.html b/html/dir_5cd28bf58103222faf21a5533c3a1fe9.html
index 7623609..8aabead 100644
--- a/html/dir_5cd28bf58103222faf21a5533c3a1fe9.html
+++ b/html/dir_5cd28bf58103222faf21a5533c3a1fe9.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/dir_d94ae846f16019cf15b4979bbb4258a2.html b/html/dir_d94ae846f16019cf15b4979bbb4258a2.html
index 837faa4..4ae5040 100644
--- a/html/dir_d94ae846f16019cf15b4979bbb4258a2.html
+++ b/html/dir_d94ae846f16019cf15b4979bbb4258a2.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/functions.html b/html/functions.html
index b29c44d..9874ea3 100644
--- a/html/functions.html
+++ b/html/functions.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/functions_vars.html b/html/functions_vars.html
index 50c96fc..fb59e12 100644
--- a/html/functions_vars.html
+++ b/html/functions_vars.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__apertures.html b/html/group__cpl__apertures.html
index 844d2b9..9a79759 100644
--- a/html/group__cpl__apertures.html
+++ b/html/group__cpl__apertures.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__array.html b/html/group__cpl__array.html
index 5d204cb..15cbff8 100644
--- a/html/group__cpl__array.html
+++ b/html/group__cpl__array.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__bivector.html b/html/group__cpl__bivector.html
index 9049301..fc2ff4b 100644
--- a/html/group__cpl__bivector.html
+++ b/html/group__cpl__bivector.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__detector.html b/html/group__cpl__detector.html
index 5fbc0e4..1d21e18 100644
--- a/html/group__cpl__detector.html
+++ b/html/group__cpl__detector.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__dfs.html b/html/group__cpl__dfs.html
index ca17316..9bb2f3e 100644
--- a/html/group__cpl__dfs.html
+++ b/html/group__cpl__dfs.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__error.html b/html/group__cpl__error.html
index 1b2d94a..8f08ae2 100644
--- a/html/group__cpl__error.html
+++ b/html/group__cpl__error.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__errorstate.html b/html/group__cpl__errorstate.html
index 193aa8d..e728c0c 100644
--- a/html/group__cpl__errorstate.html
+++ b/html/group__cpl__errorstate.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__fft.html b/html/group__cpl__fft.html
index dbd9023..5659e64 100644
--- a/html/group__cpl__fft.html
+++ b/html/group__cpl__fft.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__filter.html b/html/group__cpl__filter.html
index 082f79f..85cac7d 100644
--- a/html/group__cpl__filter.html
+++ b/html/group__cpl__filter.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__fit.html b/html/group__cpl__fit.html
index 63560ad..c01df61 100644
--- a/html/group__cpl__fit.html
+++ b/html/group__cpl__fit.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__fits.html b/html/group__cpl__fits.html
index b3ce4d9..3ccb8f8 100644
--- a/html/group__cpl__fits.html
+++ b/html/group__cpl__fits.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__frame.html b/html/group__cpl__frame.html
index 2ca99e4..45c1b3d 100644
--- a/html/group__cpl__frame.html
+++ b/html/group__cpl__frame.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__framedata.html b/html/group__cpl__framedata.html
index a4e9272..d101d9d 100644
--- a/html/group__cpl__framedata.html
+++ b/html/group__cpl__framedata.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__frameset.html b/html/group__cpl__frameset.html
index c73d04c..9e10638 100644
--- a/html/group__cpl__frameset.html
+++ b/html/group__cpl__frameset.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__frameset__io.html b/html/group__cpl__frameset__io.html
index ddbd93f..cb4b3b6 100644
--- a/html/group__cpl__frameset__io.html
+++ b/html/group__cpl__frameset__io.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__frameset__iterator.html b/html/group__cpl__frameset__iterator.html
index ce03842..dc556d4 100644
--- a/html/group__cpl__frameset__iterator.html
+++ b/html/group__cpl__frameset__iterator.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__geom__img.html b/html/group__cpl__geom__img.html
index 542baaa..752a30d 100644
--- a/html/group__cpl__geom__img.html
+++ b/html/group__cpl__geom__img.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__image.html b/html/group__cpl__image.html
index 3d8f9f1..11ae73b 100644
--- a/html/group__cpl__image.html
+++ b/html/group__cpl__image.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__imagelist.html b/html/group__cpl__imagelist.html
index c073ae9..ed122d2 100644
--- a/html/group__cpl__imagelist.html
+++ b/html/group__cpl__imagelist.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__init.html b/html/group__cpl__init.html
index 8570957..fed726d 100644
--- a/html/group__cpl__init.html
+++ b/html/group__cpl__init.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__io.html b/html/group__cpl__io.html
index 014aa63..ea3f6b3 100644
--- a/html/group__cpl__io.html
+++ b/html/group__cpl__io.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__mask.html b/html/group__cpl__mask.html
index 7cc416f..616eefe 100644
--- a/html/group__cpl__mask.html
+++ b/html/group__cpl__mask.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__math.html b/html/group__cpl__math.html
index cbf44e5..d9a79a9 100644
--- a/html/group__cpl__math.html
+++ b/html/group__cpl__math.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__matrix.html b/html/group__cpl__matrix.html
index 499ee4c..f9045ec 100644
--- a/html/group__cpl__matrix.html
+++ b/html/group__cpl__matrix.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__memory.html b/html/group__cpl__memory.html
index a1066db..d9b1580 100644
--- a/html/group__cpl__memory.html
+++ b/html/group__cpl__memory.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__msg.html b/html/group__cpl__msg.html
index 84660d8..b80e173 100644
--- a/html/group__cpl__msg.html
+++ b/html/group__cpl__msg.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__multiframe.html b/html/group__cpl__multiframe.html
index 1fdb355..5f19e45 100644
--- a/html/group__cpl__multiframe.html
+++ b/html/group__cpl__multiframe.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__parameter.html b/html/group__cpl__parameter.html
index 79f4cca..aaef2de 100644
--- a/html/group__cpl__parameter.html
+++ b/html/group__cpl__parameter.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__parameterlist.html b/html/group__cpl__parameterlist.html
index 553dbf1..a9d576c 100644
--- a/html/group__cpl__parameterlist.html
+++ b/html/group__cpl__parameterlist.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__photom.html b/html/group__cpl__photom.html
index edb8dc9..8187b7c 100644
--- a/html/group__cpl__photom.html
+++ b/html/group__cpl__photom.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__plot.html b/html/group__cpl__plot.html
index 521d73a..7d601fc 100644
--- a/html/group__cpl__plot.html
+++ b/html/group__cpl__plot.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__plugin.html b/html/group__cpl__plugin.html
index df4a208..0390f74 100644
--- a/html/group__cpl__plugin.html
+++ b/html/group__cpl__plugin.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__pluginlist.html b/html/group__cpl__pluginlist.html
index 380efda..127ace2 100644
--- a/html/group__cpl__pluginlist.html
+++ b/html/group__cpl__pluginlist.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__polynomial.html b/html/group__cpl__polynomial.html
index fb4da4c..2fc53cf 100644
--- a/html/group__cpl__polynomial.html
+++ b/html/group__cpl__polynomial.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__ppm.html b/html/group__cpl__ppm.html
index 645443d..f721a7b 100644
--- a/html/group__cpl__ppm.html
+++ b/html/group__cpl__ppm.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__property.html b/html/group__cpl__property.html
index d04f374..29a384b 100644
--- a/html/group__cpl__property.html
+++ b/html/group__cpl__property.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__propertylist.html b/html/group__cpl__propertylist.html
index d8d0db8..0cbbbe5 100644
--- a/html/group__cpl__propertylist.html
+++ b/html/group__cpl__propertylist.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
@@ -1247,7 +1247,7 @@ Functions</h2></td></tr>
 <dl class="section return"><dt>Returns</dt><dd>Nothing.</dd></dl>
 <p>This function is mainly intended for debug purposes. If the specified stream is <code>NULL</code>, it is set to <em>stdout</em>. The function used for printing is the standard C <code>fprintf()</code>. </p>
 
-<p>References <a class="el" href="group__cpl__property.html#gaa50ea6dbff7c14c430a7b68505a50569">cpl_property_get_bool()</a>, <a class="el" href="group__cpl__property.html#gabafae325a68ea9bb4b65c959e805474b">cpl_property_get_char()</a>, <a class="el" href="group__cpl__property.html#gaad08755f22d54bbe221d38946cf4694f">cpl_property_get_comment()</a>, <a class="el" href="group__cpl__property.html#gabe2fdf9c8707695c40d2b82f4d12c7bc">cpl_property_get_double()</a>, <a class="el" href="group__cp [...]
+<p>References <a class="el" href="group__cpl__property.html#gaa50ea6dbff7c14c430a7b68505a50569">cpl_property_get_bool()</a>, <a class="el" href="group__cpl__property.html#gabafae325a68ea9bb4b65c959e805474b">cpl_property_get_char()</a>, <a class="el" href="group__cpl__property.html#gaad08755f22d54bbe221d38946cf4694f">cpl_property_get_comment()</a>, <a class="el" href="group__cpl__property.html#gabe2fdf9c8707695c40d2b82f4d12c7bc">cpl_property_get_double()</a>, <a class="el" href="group__cp [...]
 
 </div>
 </div>
diff --git a/html/group__cpl__recipe.html b/html/group__cpl__recipe.html
index 35944b8..3a63f26 100644
--- a/html/group__cpl__recipe.html
+++ b/html/group__cpl__recipe.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__recipeconfig.html b/html/group__cpl__recipeconfig.html
index b6b785e..6d49659 100644
--- a/html/group__cpl__recipeconfig.html
+++ b/html/group__cpl__recipeconfig.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__recipedefine.html b/html/group__cpl__recipedefine.html
index f03c6f2..36e31d5 100644
--- a/html/group__cpl__recipedefine.html
+++ b/html/group__cpl__recipedefine.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__regex.html b/html/group__cpl__regex.html
index ebb2b2c..4ca1d04 100644
--- a/html/group__cpl__regex.html
+++ b/html/group__cpl__regex.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__stats.html b/html/group__cpl__stats.html
index 36d8507..3be4ed1 100644
--- a/html/group__cpl__stats.html
+++ b/html/group__cpl__stats.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__table.html b/html/group__cpl__table.html
index 667877f..67f5252 100644
--- a/html/group__cpl__table.html
+++ b/html/group__cpl__table.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
@@ -3257,7 +3257,7 @@ Functions</h2></td></tr>
 </dl>
 <p>A new table is created, containing a copy of all the selected rows of the input table. In the output table all rows are selected. </p>
 
-<p>References <a class="el" href="group__cpl__error.html#gga49a0c316d52d2afbfd9fd94b95344900a7b054cf7927d1bd0a9b3693a6715be84">CPL_ERROR_NULL_INPUT</a>, <a class="el" href="group__cpl__table.html#ga86dc059191d3a5b42832fcfcf8efbea2">cpl_table_copy_structure()</a>, <a class="el" href="group__cpl__table.html#ga49553a682513ffa3ecd943187653dc40">cpl_table_duplicate()</a>, <a class="el" href="group__cpl__table.html#ga1037bec8976297a42ca42da2e26f88b4">cpl_table_new()</a>, <a class="el" href="gr [...]
+<p>References <a class="el" href="group__cpl__error.html#gga49a0c316d52d2afbfd9fd94b95344900a7b054cf7927d1bd0a9b3693a6715be84">CPL_ERROR_NULL_INPUT</a>, <a class="el" href="group__cpl__table.html#ga86dc059191d3a5b42832fcfcf8efbea2">cpl_table_copy_structure()</a>, <a class="el" href="group__cpl__table.html#ga49553a682513ffa3ecd943187653dc40">cpl_table_duplicate()</a>, <a class="el" href="group__cpl__table.html#ga1037bec8976297a42ca42da2e26f88b4">cpl_table_new()</a>, <a class="el" href="gr [...]
 
 </div>
 </div>
@@ -9201,8 +9201,14 @@ Functions</h2></td></tr>
 </table>
 </dd>
 </dl>
-<p>This function can be used to convert a CPL table into a binary FITS table extension. If the <em>mode</em> is set to <code>CPL_IO_CREATE</code>, a new FITS file will be created containing an empty primary array, with just one FITS table extension. An existing (and writable) FITS file with the same name would be overwritten. If the <em>mode</em> flag is set to <code>CPL_IO_EXTEND</code>, a new table extension would be appended to an existing FITS file. Note that also in this case the fi [...]
-<dl class="section note"><dt>Note</dt><dd>Invalid strings in columns of type <code>CPL_TYPE_STRING</code> are written to FITS as blanks. Invalid values in columns of type <code>CPL_TYPE_FLOAT</code> or <code>CPL_TYPE_DOUBLE</code> will be written to the FITS file as a <code>NaN</code>. Invalid values in columns of type <code>CPL_TYPE_INT</code> and <code>CPL_TYPE_LONG_LONG</code> are the only ones that need a specific code to be explicitly assigned to them. This can be realised by callin [...]
+<p>This function can be used to convert a CPL table into a binary FITS table extension. If the <em>mode</em> is set to <code>CPL_IO_CREATE</code>, a new FITS file will be created containing an empty primary array, with just one FITS table extension. An existing (and writable) FITS file with the same name would be overwritten. If the <em>mode</em> flag is set to <code>CPL_IO_EXTEND</code>, a new table extension would be appended to an existing FITS file. Note that also in this case the fi [...]
+<p>If a <code>NULL</code> <em>pheader</em> is passed, the primary array would be created with just such entries, that are mandatory in any regular FITS file. The second property list, <em>header</em>, is assumed to contain entries for the FITS table extension header. In this property list any property name related to the FITS convention, as XTENSION, BITPIX, NAXIS, PCOUNT, GCOUNT, and END, and to the table structure, as TFIELDS, TTYPEi, TUNITi, TDISPi, TNULLi, TFORMi, would be ignored: s [...]
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>Invalid strings in columns of type <code>CPL_TYPE_STRING</code> are written to FITS as blanks.</li>
+<li>Invalid values in columns of type <code>CPL_TYPE_FLOAT</code> or <code>CPL_TYPE_DOUBLE</code> will be written to the FITS file as a <code>NaN</code>.</li>
+<li>Invalid values in columns of type <code>CPL_TYPE_INT</code> and <code>CPL_TYPE_LONG_LONG</code> are the only ones that need a specific code to be explicitly assigned to them. This can be realised by calling the functions <a class="el" href="group__cpl__table.html#ga0041fc2ebc6cf8c41693298b91a91551" title="Write to invalid integer column elements a numeric code. ">cpl_table_fill_invalid_int()</a> and <a class="el" href="group__cpl__table.html#ga96bffe508ceab3b4b0c33cbb7475ad64" title= [...]
+</ul>
+</dd></dl>
 
 </div>
 </div>
diff --git a/html/group__cpl__test.html b/html/group__cpl__test.html
index 81a3a5e..0e2cdbf 100644
--- a/html/group__cpl__test.html
+++ b/html/group__cpl__test.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__type.html b/html/group__cpl__type.html
index 8253fc5..f376e84 100644
--- a/html/group__cpl__type.html
+++ b/html/group__cpl__type.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
 <div class="line"><a name="l00002"></a><span class="lineno">    2</span> </div>
 <div class="line"><a name="l00003"></a><span class="lineno">    3</span> return cpl_sprintf("The index is %" CPL_SIZE_FORMAT "\n", i);</div>
 </div><!-- fragment --> 
-<p>Referenced by <a class="el" href="group__cpl__apertures.html#ga1513c3b99639d0b1ec6d10fdfa6e53b7">cpl_apertures_dump()</a>, <a class="el" href="group__cpl__array.html#gae34bfd342242da76465bac08133d6552">cpl_array_dump()</a>, <a class="el" href="group__cpl__array.html#ga9d257aed16ec2f5a3035fb6c8697a1af">cpl_array_dump_structure()</a>, <a class="el" href="group__cpl__fit.html#ga8004d897c449d503c56f14ca99cf475b">cpl_fit_image_gaussian()</a>, <a class="el" href="group__cpl__detector.html#g [...]
+<p>Referenced by <a class="el" href="group__cpl__apertures.html#ga1513c3b99639d0b1ec6d10fdfa6e53b7">cpl_apertures_dump()</a>, <a class="el" href="group__cpl__array.html#gae34bfd342242da76465bac08133d6552">cpl_array_dump()</a>, <a class="el" href="group__cpl__array.html#ga9d257aed16ec2f5a3035fb6c8697a1af">cpl_array_dump_structure()</a>, <a class="el" href="group__cpl__fit.html#ga8004d897c449d503c56f14ca99cf475b">cpl_fit_image_gaussian()</a>, <a class="el" href="group__cpl__detector.html#g [...]
 
 </div>
 </div>
diff --git a/html/group__cpl__vector.html b/html/group__cpl__vector.html
index 26ea156..a0a49f1 100644
--- a/html/group__cpl__vector.html
+++ b/html/group__cpl__vector.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__version.html b/html/group__cpl__version.html
index f30c7d8..b37fa00 100644
--- a/html/group__cpl__version.html
+++ b/html/group__cpl__version.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__wcs.html b/html/group__cpl__wcs.html
index c5beca4..a2b2f0a 100644
--- a/html/group__cpl__wcs.html
+++ b/html/group__cpl__wcs.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/group__cpl__wlcalib.html b/html/group__cpl__wlcalib.html
index 3306503..e5eb699 100644
--- a/html/group__cpl__wlcalib.html
+++ b/html/group__cpl__wlcalib.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/index.html b/html/index.html
index 3300ad1..1e71c38 100644
--- a/html/index.html
+++ b/html/index.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/modules.html b/html/modules.html
index d0fae23..5e1dd74 100644
--- a/html/modules.html
+++ b/html/modules.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/pages.html b/html/pages.html
index e5073ab..9d05fb3 100644
--- a/html/pages.html
+++ b/html/pages.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__framedata__-members.html b/html/struct__cpl__framedata__-members.html
index bf44487..8aa29ae 100644
--- a/html/struct__cpl__framedata__-members.html
+++ b/html/struct__cpl__framedata__-members.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__framedata__.html b/html/struct__cpl__framedata__.html
index 59c517b..0db7b31 100644
--- a/html/struct__cpl__framedata__.html
+++ b/html/struct__cpl__framedata__.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__plugin__-members.html b/html/struct__cpl__plugin__-members.html
index 8fb0ee0..6114370 100644
--- a/html/struct__cpl__plugin__-members.html
+++ b/html/struct__cpl__plugin__-members.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__plugin__.html b/html/struct__cpl__plugin__.html
index 7f6576c..5e31550 100644
--- a/html/struct__cpl__plugin__.html
+++ b/html/struct__cpl__plugin__.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__recipe__-members.html b/html/struct__cpl__recipe__-members.html
index b377fe4..1889c1e 100644
--- a/html/struct__cpl__recipe__-members.html
+++ b/html/struct__cpl__recipe__-members.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/html/struct__cpl__recipe__.html b/html/struct__cpl__recipe__.html
index a0b5c1d..af81bf8 100644
--- a/html/struct__cpl__recipe__.html
+++ b/html/struct__cpl__recipe__.html
@@ -19,7 +19,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">Common Pipeline Library Reference Manual
-    <span id="projectnumber">6.6</span>
+    <span id="projectnumber">6.6.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/ChangeLog b/libcext/ChangeLog
index 3bd941e..0f645e9 100644
--- a/libcext/ChangeLog
+++ b/libcext/ChangeLog
@@ -1,3 +1,26 @@
+2015-06-26  rpalsa
+
+	* cext/cxutils.c: cx_bits_rfind(): Fix possible undefined behavior
+	  with start == 31.
+
+2015-03-06  rpalsa
+
+	* configure.ac: Package and library version updated.
+	* cext/cxdeque.c: _cx_deque_reserve_at_front(),
+	  _cx_deque_reserve_at_back(): Fix an undefined behavior which may
+	  be triggered by an empty deque. (PIPE-5472)
+	* m4/eso.m4: ESO_ENABLE_DEBUG(), ESO_ENABLE_STRICT(),
+	  ESO_ENABLE_PROFILE(): Remove redundant quotes from AC_ARG_ENABLE
+	  call.
+	* acinclude.m4: CEXT_ENABLE_THREADS(): Remove redundant quotes from
+	  AC_ARG_ENABLE call
+	* Doxyfile.in: Updated to doxygen 1.8.x series
+
+2015-03-04  rpalsa
+
+	* configure.ac: Package version fixed.
+	* NEWS: Updated for release 1.2
+
 2015-03-03  rpalsa
 
 	* cext/cxstring.c, cext/cxstring.h:
diff --git a/libcext/Doxyfile.in b/libcext/Doxyfile.in
index d835e87..db7d3d1 100644
--- a/libcext/Doxyfile.in
+++ b/libcext/Doxyfile.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.7.5.1
+# Doxyfile 1.8.9.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -10,6 +10,7 @@ PROJECT_BRIEF          =
 PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
+ALLOW_UNICODE_NAMES    = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
@@ -27,11 +28,14 @@ INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 4
 ALIASES                = doc=
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = YES
+AUTOLINK_SUPPORT       = YES
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
@@ -41,12 +45,13 @@ SUBGROUPING            = YES
 INLINE_GROUPED_CLASSES = NO
 INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
-SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = NO
 EXTRACT_PRIVATE        = NO
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = NO
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -58,7 +63,9 @@ HIDE_IN_BODY_DOCS      = NO
 INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
+HIDE_COMPOUND_REFERENCE= NO
 SHOW_INCLUDE_FILES     = YES
+SHOW_GROUPED_MEMB_INC  = NO
 FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = NO
 SORT_MEMBER_DOCS       = YES
@@ -74,14 +81,13 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 30
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
 CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 QUIET                  = NO
 WARNINGS               = YES
@@ -91,7 +97,7 @@ WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            =
 WARN_LOGFILE           =
 #---------------------------------------------------------------------------
-# configuration options related to the input files
+# Configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = @top_srcdir@/cext
 INPUT_ENCODING         = UTF-8
@@ -111,8 +117,9 @@ INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
 #---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Configuration options related to source browsing
 #---------------------------------------------------------------------------
 SOURCE_BROWSER         = NO
 INLINE_SOURCES         = NO
@@ -120,16 +127,17 @@ STRIP_CODE_COMMENTS    = YES
 REFERENCED_BY_RELATION = YES
 REFERENCES_RELATION    = YES
 REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS        = YES
 USE_HTAGS              = NO
 VERBATIM_HEADERS       = YES
 #---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
 IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
-# configuration options related to the HTML output
+# Configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = YES
 HTML_OUTPUT            = html
@@ -137,13 +145,14 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_STYLESHEET  =
 HTML_EXTRA_FILES       =
 HTML_COLORSTYLE_HUE    = 220
 HTML_COLORSTYLE_SAT    = 100
 HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = NO
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
@@ -167,20 +176,26 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = NO
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
 EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
 FORMULA_TRANSPARENT    = YES
 USE_MATHJAX            = NO
+MATHJAX_FORMAT         = HTML-CSS
 MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
 MATHJAX_EXTENSIONS     =
+MATHJAX_CODEFILE       =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
+EXTERNAL_SEARCH        = NO
+SEARCHENGINE_URL       =
+SEARCHDATA_FILE        = searchdata.xml
+EXTERNAL_SEARCH_ID     =
+EXTRA_SEARCH_MAPPINGS  =
 #---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
+# Configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 GENERATE_LATEX         = NO
 LATEX_OUTPUT           = latex
@@ -191,6 +206,8 @@ PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         =
 LATEX_HEADER           =
 LATEX_FOOTER           =
+LATEX_EXTRA_STYLESHEET =
+LATEX_EXTRA_FILES      =
 PDF_HYPERLINKS         = NO
 USE_PDFLATEX           = NO
 LATEX_BATCHMODE        = NO
@@ -198,7 +215,7 @@ LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
 LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
-# configuration options related to the RTF output
+# Configuration options related to the RTF output
 #---------------------------------------------------------------------------
 GENERATE_RTF           = NO
 RTF_OUTPUT             =
@@ -206,27 +223,33 @@ COMPACT_RTF            = NO
 RTF_HYPERLINKS         = NO
 RTF_STYLESHEET_FILE    =
 RTF_EXTENSIONS_FILE    =
+RTF_SOURCE_CODE        = NO
 #---------------------------------------------------------------------------
-# configuration options related to the man page output
+# Configuration options related to the man page output
 #---------------------------------------------------------------------------
 GENERATE_MAN           = NO
 MAN_OUTPUT             =
 MAN_EXTENSION          =
+MAN_SUBDIR             =
 MAN_LINKS              = NO
 #---------------------------------------------------------------------------
-# configuration options related to the XML output
+# Configuration options related to the XML output
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             =
-XML_DTD                =
 XML_PROGRAMLISTING     = YES
 #---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+GENERATE_DOCBOOK       = NO
+DOCBOOK_OUTPUT         = docbook
+DOCBOOK_PROGRAMLISTING = NO
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 GENERATE_AUTOGEN_DEF   = NO
 #---------------------------------------------------------------------------
-# configuration options related to the Perl module output
+# Configuration options related to the Perl module output
 #---------------------------------------------------------------------------
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
@@ -246,18 +269,20 @@ PREDEFINED             = "CX_BEGIN_DECLS= " \
 EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references
+# Configuration options related to external references
 #---------------------------------------------------------------------------
 TAGFILES               =
 GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
+EXTERNAL_PAGES         = YES
 PERL_PATH              =
 #---------------------------------------------------------------------------
 # Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 CLASS_DIAGRAMS         = YES
 MSCGEN_PATH            =
+DIA_PATH               =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = NO
 DOT_NUM_THREADS        = 0
@@ -268,6 +293,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -280,6 +306,9 @@ INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
 MSCFILE_DIRS           =
+DIAFILE_DIRS           =
+PLANTUML_JAR_PATH      =
+PLANTUML_INCLUDE_PATH  =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/libcext/Makefile.in b/libcext/Makefile.in
index fe3fc05..b66d7c4 100644
--- a/libcext/Makefile.in
+++ b/libcext/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -77,16 +87,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/admin/doxygen.am $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/configure \
-	$(am__configure_deps) $(srcdir)/config.h.in \
-	$(srcdir)/Makefile.purify.in $(srcdir)/Doxyfile.in AUTHORS \
-	COPYING ChangeLog INSTALL NEWS README TODO admin/compile \
-	admin/config.guess admin/config.sub admin/depcomp \
-	admin/install-sh admin/missing admin/ltmain.sh \
-	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
-	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/install-sh \
-	$(top_srcdir)/admin/ltmain.sh $(top_srcdir)/admin/missing
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
@@ -96,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -159,6 +161,15 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.purify.in $(srcdir)/config.h.in \
+	$(top_srcdir)/admin/compile $(top_srcdir)/admin/config.guess \
+	$(top_srcdir)/admin/config.sub $(top_srcdir)/admin/doxygen.am \
+	$(top_srcdir)/admin/install-sh $(top_srcdir)/admin/ltmain.sh \
+	$(top_srcdir)/admin/missing AUTHORS COPYING ChangeLog INSTALL \
+	NEWS README TODO admin/compile admin/config.guess \
+	admin/config.sub admin/depcomp admin/install-sh \
+	admin/ltmain.sh admin/missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -250,6 +261,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -365,7 +377,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -375,7 +386,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/admin/doxygen.am:
+$(top_srcdir)/admin/doxygen.am $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -605,15 +616,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -649,17 +660,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -838,6 +849,8 @@ uninstall-am: uninstall-local
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-local
 
+.PRECIOUS: Makefile
+
 
 @MAINTAINER_MODE_TRUE at clean-local: clean-doxygen
 
diff --git a/libcext/NEWS b/libcext/NEWS
index 868e783..d8b2ec2 100644
--- a/libcext/NEWS
+++ b/libcext/NEWS
@@ -1,3 +1,7 @@
+Release 1.2.1 (2015-07-20):
+---------------------------
+ * cx_deque, cxutils.c: Bug fixes.
+
 Release 1.2 (2015-03-06):
 -------------------------
  * cx_string: New functions added.
diff --git a/libcext/acinclude.m4 b/libcext/acinclude.m4
index 48ea82e..4acce23 100644
--- a/libcext/acinclude.m4
+++ b/libcext/acinclude.m4
@@ -22,7 +22,7 @@ AC_DEFUN([CEXT_ENABLE_THREADS],
 [
     AC_ARG_ENABLE(threads,
                   AC_HELP_STRING([--enable-threads],
-                                 [enables thread support [[default=$1]]]),
+                                 [enables thread support [default=$1]]),
                   cext_enable_threads=$enableval, cext_enable_threads=$1)
 
     AH_TEMPLATE([CX_THREADS_ENABLED],
diff --git a/libcext/aclocal.m4 b/libcext/aclocal.m4
index ba14528..165b20c 100644
--- a/libcext/aclocal.m4
+++ b/libcext/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ 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'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # 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'
+[am__api_version='1.15'
 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], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_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
+[AM_AUTOMAKE_VERSION([1.15])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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[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.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -499,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <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.
+# We need awk for the "check" target (and possibly the TAP driver).  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
@@ -573,7 +572,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 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
@@ -602,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -645,7 +648,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -680,7 +683,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -730,7 +733,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -769,7 +772,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -798,7 +801,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -845,7 +848,7 @@ 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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -864,7 +867,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -945,7 +948,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1005,7 +1008,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1033,7 +1036,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1052,7 +1055,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/libcext/admin/compile b/libcext/admin/compile
index 531136b..a85b723 100755
--- a/libcext/admin/compile
+++ b/libcext/admin/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/libcext/admin/config.guess b/libcext/admin/config.guess
index 9afd676..6c32c86 100755
--- a/libcext/admin/config.guess
+++ b/libcext/admin/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-11-29'
+timestamp='2014-11-04'
 
 # 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 @@ timestamp='2013-11-29'
 # 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
 #
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+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."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
 	;;
 esac
 
@@ -579,8 +579,9 @@ EOF
 	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
@@ -826,7 +827,7 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -969,10 +970,10 @@ EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
+    or32:Linux:*:* | or1k*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
@@ -1371,154 +1372,6 @@ EOF
 	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
 
diff --git a/libcext/admin/config.sub b/libcext/admin/config.sub
index 61cb4bc..7ffe373 100755
--- a/libcext/admin/config.sub
+++ b/libcext/admin/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-10-01'
+timestamp='2014-12-03'
 
 # 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 @@ timestamp='2013-10-01'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+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."
@@ -283,8 +283,10 @@ case $basic_machine in
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -296,11 +298,11 @@ case $basic_machine in
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| 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 \
@@ -311,6 +313,7 @@ case $basic_machine in
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -325,6 +328,9 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -402,8 +408,10 @@ case $basic_machine in
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -415,6 +423,7 @@ case $basic_machine in
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -432,6 +441,7 @@ case $basic_machine in
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -769,6 +779,9 @@ case $basic_machine in
 		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
@@ -824,6 +837,10 @@ case $basic_machine in
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -1369,14 +1386,14 @@ case $os in
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -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* | -tirtos*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1594,9 +1611,6 @@ case $basic_machine in
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;
diff --git a/libcext/admin/depcomp b/libcext/admin/depcomp
index 4ebd5b3..fc98710 100755
--- a/libcext/admin/depcomp
+++ b/libcext/admin/depcomp
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 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
diff --git a/libcext/admin/install-sh b/libcext/admin/install-sh
index 377bb86..0b0fdcb 100755
--- a/libcext/admin/install-sh
+++ b/libcext/admin/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# 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
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@ 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.
@@ -97,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        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)
+        is_target_a_directory=always
+        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;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 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.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+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
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@ do
     # 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
+      if test "$is_target_a_directory" = never; 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'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,74 @@ do
   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;;
+        # 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"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +370,51 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      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/
+        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
+        # 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
@@ -472,15 +449,12 @@ do
 
     # 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 &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +467,24 @@ do
       # 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"
+        # 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
 
diff --git a/libcext/admin/ltmain.sh b/libcext/admin/ltmain.sh
index 555b763..0f0a2da 100644
--- a/libcext/admin/ltmain.sh
+++ b/libcext/admin/ltmain.sh
@@ -2,11 +2,11 @@
 ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
 ##               by inline-source v2014-01-03.01
 
-# libtool (GNU libtool) 2.4.3
+# libtool (GNU libtool) 2.4.6
 # Provide generalized library-building support services.
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 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.
 
@@ -31,8 +31,8 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.3
-package_revision=2.4.3
+VERSION=2.4.6
+package_revision=2.4.6
 
 
 ## ------ ##
@@ -64,12 +64,12 @@ package_revision=2.4.3
 # libraries, which are installed to $pkgauxdir.
 
 # Set a version string for this script.
-scriptversion=2014-01-03.01; # UTC
+scriptversion=2015-01-20.17; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2015 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.
 
@@ -192,7 +192,7 @@ func_path_progs ()
 
     _G_path_prog_max=0
     _G_path_prog_found=false
-    _G_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
     for _G_dir in $_G_PATH; do
       IFS=$_G_save_IFS
       test -z "$_G_dir" && _G_dir=.
@@ -1375,7 +1375,7 @@ scriptversion=2014-01-07.03; # UTC
 # A portable, pluggable option parser for Bourne shell.
 # Written by Gary V. Vaughan, 2010
 
-# Copyright (C) 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2010-2015 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.
 
@@ -1977,7 +1977,7 @@ func_version ()
 # End:
 
 # Set a version string.
-scriptversion='(GNU libtool) 2.4.3'
+scriptversion='(GNU libtool) 2.4.6'
 
 
 # func_echo ARG...
@@ -2039,7 +2039,12 @@ usage_message="Options:
 "
 
 # Additional text appended to 'usage_message' in response to '--help'.
-long_help_message=$long_help_message"
+func_help ()
+{
+    $debug_cmd
+
+    func_usage_message
+    $ECHO "$long_help_message
 
 MODE must be one of the following:
 
@@ -2063,13 +2068,15 @@ include the following information:
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.3
+       version:        $progname (GNU libtool) 2.4.6
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libtool at gnu.org>.
 GNU libtool home page: <http://www.gnu.org/software/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
+    exit 0
+}
 
 
 # func_lo2o OBJECT-NAME
@@ -2411,7 +2418,7 @@ libtool_validate_options ()
     case $host in
       # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
       # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2*)
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
         # don't eliminate duplications in $postdeps and $predeps
         opt_duplicate_compiler_generated_deps=:
         ;;
@@ -3730,7 +3737,8 @@ The following components of LINK-COMMAND are treated specially:
   -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
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
   -precious-files-regex REGEX
                     don't remove output files matching REGEX
   -release RELEASE  specify package release information
@@ -4312,6 +4320,13 @@ func_mode_install ()
 	      ;;
 	    esac
 	    ;;
+	  os2*)
+	    case $realname in
+	    *_dll.a)
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
 	  esac
 	  if test -n "$tstripme" && test -n "$striplib"; then
 	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
@@ -5153,7 +5168,7 @@ func_extract_archives ()
 	      $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_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
@@ -6453,6 +6468,24 @@ func_win32_import_lib_p ()
     esac
 }
 
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
@@ -6511,6 +6544,7 @@ func_mode_link ()
     module=no
     no_install=no
     objs=
+    os2dllname=
     non_pic_objects=
     precious_files_regex=
     prefer_static_libs=no
@@ -6768,6 +6802,11 @@ func_mode_link ()
 	  prev=
 	  continue
 	  ;;
+	os2dllname)
+	  os2dllname=$arg
+	  prev=
+	  continue
+	  ;;
 	precious_regex)
 	  precious_files_regex=$arg
 	  prev=
@@ -7077,6 +7116,11 @@ func_mode_link ()
 	continue
 	;;
 
+      -os2dllname)
+	prev=os2dllname
+	continue
+	;;
+
       -o) prev=output ;;
 
       -precious-files-regex)
@@ -7240,6 +7284,25 @@ func_mode_link ()
         continue
         ;;
 
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+	  compiler_flags="$compiler_flags $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  case $arg in
+	  -Zlinker | -Zstack)
+	    prev=xcompiler
+	    ;;
+	  esac
+	  continue
+        else
+	  # Otherwise treat like 'Some other compiler flag' below
+	  func_quote_for_eval "$arg"
+	  arg=$func_quote_for_eval_result
+        fi
+	;;
+
       # Some other compiler flag.
       -* | +*)
         func_quote_for_eval "$arg"
@@ -7399,6 +7462,9 @@ func_mode_link ()
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
     func_dirname "$output" "/" ""
     output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"
@@ -8066,7 +8132,7 @@ func_mode_link ()
 	if test -n "$library_names" &&
 	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
 	  case $host in
-	  *cygwin* | *mingw* | *cegcc*)
+	  *cygwin* | *mingw* | *cegcc* | *os2*)
 	      # No point in relinking DLLs because paths are not encoded
 	      func_append notinst_deplibs " $lib"
 	      need_relink=no
@@ -8136,7 +8202,7 @@ func_mode_link ()
 	    elif test -n "$soname_spec"; then
 	      # bleh windows
 	      case $host in
-	      *cygwin* | mingw* | *cegcc*)
+	      *cygwin* | mingw* | *cegcc* | *os2*)
 	        func_arith $current - $age
 		major=$func_arith_result
 		versuffix=-$major
@@ -8561,6 +8627,37 @@ func_mode_link ()
 	  eval $var=\"$tmp_libs\"
 	done # for var
       fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
       # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)
       tmp_libs=
@@ -8708,13 +8805,13 @@ func_mode_link ()
 	  #
 	  case $version_type in
 	  # correct linux to gnu/linux during the next big refactor
-	  darwin|linux|osf|windows|none)
+	  darwin|freebsd-elf|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)
+	  freebsd-aout|qnx|sunos)
 	    current=$number_major
 	    revision=$number_minor
 	    age=0
@@ -8800,8 +8897,9 @@ func_mode_link ()
 	  ;;
 
 	freebsd-elf)
-	  major=.$current
-	  versuffix=.$current
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
 	  ;;
 
 	irix | nonstopux)
@@ -8864,6 +8962,11 @@ func_mode_link ()
 	  versuffix=.$current
 	  ;;
 
+	sco)
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
 	sunos)
 	  major=.$current
 	  versuffix=.$current.$revision
diff --git a/libcext/admin/missing b/libcext/admin/missing
index db98974..f62bbae 100755
--- a/libcext/admin/missing
+++ b/libcext/admin/missing
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff --git a/libcext/admin/test-driver b/libcext/admin/test-driver
index d306056..8e575b0 100755
--- a/libcext/admin/test-driver
+++ b/libcext/admin/test-driver
@@ -3,7 +3,7 @@
 
 scriptversion=2013-07-13.22; # UTC
 
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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
@@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@ case $estatus:$expect_failure in
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
diff --git a/libcext/cext/Makefile.in b/libcext/cext/Makefile.in
index 117a006..29cf4e8 100644
--- a/libcext/cext/Makefile.in
+++ b/libcext/cext/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -80,9 +90,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = cext
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(include_HEADERS) \
-	$(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -91,6 +98,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+	$(noinst_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -198,6 +207,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -248,6 +258,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -368,7 +379,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cext/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign cext/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -729,6 +739,8 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
 	tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
 	uninstall-libLTLIBRARIES uninstall-nodist_configHEADERS
 
+.PRECIOUS: Makefile
+
 
 cxconfig-stamp: $(top_builddir)/config.status
 	$(AM_V_GEN) cd $(top_builddir) && $(SHELL) ./config.status cxconfig.h
diff --git a/libcext/cext/cxdeque.c b/libcext/cext/cxdeque.c
index 46b6255..7ef5c05 100644
--- a/libcext/cext/cxdeque.c
+++ b/libcext/cext/cxdeque.c
@@ -88,8 +88,14 @@ _cx_deque_reserve_at_front(cx_deque *deque, cxsize size)
         deque->front = size;
 
         _members = cx_calloc(_cx_deque_capacity(deque), sizeof(cxptr));
-        memcpy(&_members[deque->front], deque->members,
-               deque->size * sizeof(cxptr));
+
+        if (deque->size > 0) {
+
+            cx_assert(deque->members != NULL);
+            memcpy(&_members[deque->front], deque->members,
+                   deque->size * sizeof(cxptr));
+
+        }
 
         cx_free(deque->members);
         deque->members = _members;
@@ -119,8 +125,14 @@ _cx_deque_reserve_at_back(cx_deque *deque, cxsize size)
         deque->back = size;
 
         _members = cx_calloc(_cx_deque_capacity(deque), sizeof(cxptr));
-        memcpy(&_members[deque->front], &deque->members[deque->front],
-               deque->size * sizeof(cxptr));
+
+        if (deque->size > 0) {
+
+            cx_assert(deque->members != NULL);
+            memcpy(&_members[deque->front], &deque->members[deque->front],
+                   deque->size * sizeof(cxptr));
+
+        }
 
         cx_free(deque->members);
         deque->members = _members;
diff --git a/libcext/cext/cxutils.c b/libcext/cext/cxutils.c
index 66e1081..f94ae0b 100644
--- a/libcext/cext/cxutils.c
+++ b/libcext/cext/cxutils.c
@@ -200,7 +200,7 @@ cxint cx_bits_find(cxuint32 mask, cxint start)
 cxint cx_bits_rfind(cxuint32 mask, cxint start)
 {
 
-    register cxint n = (cxint)(sizeof(cxuint32) * 8);
+    register cxint n = (cxint)(sizeof(cxuint32) * 8) - 1;
 
     if (start < 0)
         start = -1;
diff --git a/libcext/configure b/libcext/configure
index 0a529f3..c32800d 100755
--- a/libcext/configure
+++ b/libcext/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for C Extension Library 1.2.
+# Generated by GNU Autoconf 2.69 for C Extension Library 1.2.1.
 #
 # Report bugs to <cpl-help at eso.org>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='C Extension Library'
 PACKAGE_TARNAME='cext'
-PACKAGE_VERSION='1.2'
-PACKAGE_STRING='C Extension Library 1.2'
+PACKAGE_VERSION='1.2.1'
+PACKAGE_STRING='C Extension Library 1.2.1'
 PACKAGE_BUGREPORT='cpl-help at eso.org'
 PACKAGE_URL=''
 
@@ -644,6 +644,7 @@ LIBPTHREAD
 PTHREAD_CFLAGS
 LIBTOOL_DEPS
 CPP
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
@@ -781,6 +782,7 @@ enable_static
 enable_shared
 with_pic
 enable_fast_install
+with_aix_soname
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
@@ -798,6 +800,7 @@ CPPFLAGS
 DOXYGEN
 LATEX
 PURIFY
+LT_SYS_LIBRARY_PATH
 CPP'
 
 
@@ -1339,7 +1342,7 @@ 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 C Extension Library 1.2 to adapt to many kinds of systems.
+\`configure' configures C Extension Library 1.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1409,7 +1412,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of C Extension Library 1.2:";;
+     short | recursive ) echo "Configuration of C Extension Library 1.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1426,16 +1429,16 @@ Optional Features:
                           do not reject slow dependency extractors
   --disable-dependency-tracking
                           speeds up one-time build
-  --enable-debug          creates debugging code [[default=no]]
+  --enable-debug          creates debugging code [default=no]
   --enable-strict         compiles with strict compiler options (may not
-                          work!) [[default=no]]
+                          work!) [default=no]
   --disable-purify        disables the check for the Purify installation
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-shared[=PKGS]  build shared libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-threads        enables thread support [[default=yes]]
+  --enable-threads        enables thread support [default=yes]
   --disable-largefile     omit support for large files
 
 Optional Packages:
@@ -1443,6 +1446,9 @@ Optional Packages:
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                           compiler's sysroot if not specified).
@@ -1458,6 +1464,8 @@ Some influential environment variables:
   DOXYGEN     doxygen command
   LATEX       latex command
   PURIFY      Purify command
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   CPP         C preprocessor
 
 Use these variables to override the choices made by `configure' or to help
@@ -1526,7 +1534,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-C Extension Library configure 1.2
+C Extension Library configure 1.2.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2235,7 +2243,7 @@ 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 C Extension Library $as_me 1.2, which was
+It was created by C Extension Library $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2619,7 +2627,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 ac_config_headers="$ac_config_headers config.h"
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2791,8 +2799,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2811,7 +2819,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3105,7 +3113,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='cext'
- VERSION='1.2'
+ VERSION='1.2.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3139,8 +3147,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3199,6 +3207,7 @@ END
 fi
 
 
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
@@ -3246,10 +3255,10 @@ fi
         LT_CURRENT="2"
     fi
 
-    if test -z "0"; then
+    if test -z "1"; then
         LT_REVISION=0
     else
-        LT_REVISION="0"
+        LT_REVISION="1"
     fi
 
     if test -z "2"; then
@@ -5277,8 +5286,8 @@ esac
 
 
 
-macro_version='2.4.2.458.26-92994'
-macro_revision='2.4.3'
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
 
 
@@ -6520,6 +6529,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 
 fi
@@ -7568,6 +7580,21 @@ $as_echo "$lt_cv_truncate_bin" >&6; }
 
 
 
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then :
   enableval=$enable_libtool_lock;
@@ -8575,6 +8602,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
     ;;
   esac
 
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8931,6 +8993,58 @@ fi
 
 
 
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
 
 
 
@@ -9050,15 +9164,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$LD" && LD=ld
 test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; 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-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
 
 # Only perform the check for file, if the check method requires it
@@ -9369,6 +9476,11 @@ lt_prog_compiler_static=
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -9465,6 +9577,11 @@ lt_prog_compiler_static=
       # 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).
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -10105,6 +10222,34 @@ _LT_EOF
       link_all_deplibs=yes
       ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
@@ -10178,6 +10323,9 @@ _LT_EOF
         fi
 
 	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
@@ -10307,19 +10455,35 @@ _LT_EOF
 	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".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
 	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
 	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
@@ -10327,6 +10491,13 @@ _LT_EOF
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -10346,6 +10517,14 @@ _LT_EOF
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
       file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
 
       if test yes = "$GCC"; then
 	case $host_os in aix4.[012]|aix4.[012].*)
@@ -10373,6 +10552,11 @@ _LT_EOF
 	if test yes = "$aix_use_runtimelinking"; then
 	  shared_flag="$shared_flag "'$wl-G'
 	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
 	if test ia64 = "$host_cpu"; then
@@ -10385,6 +10569,8 @@ _LT_EOF
 	  else
 	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
@@ -10392,7 +10578,7 @@ _LT_EOF
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       always_export_symbols=yes
-      if test yes = "$aix_use_runtimelinking"; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
 	# Warning - without using the other runtime loading flags (-brtl),
 	# -berok will link without error, but may produce a broken library.
 	allow_undefined_flag='-berok'
@@ -10507,8 +10693,20 @@ fi
 	    whole_archive_flag_spec='$convenience'
 	  fi
 	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$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'
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) >  [...]
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -10827,6 +11025,16 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
@@ -10872,8 +11080,28 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$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'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
       ;;
 
     osf3*)
@@ -11396,6 +11624,8 @@ hardcode_into_libs=no
 # 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
@@ -11432,20 +11662,70 @@ aix[4-9]*)
       fi
       ;;
     esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
     # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test yes = "$aix_use_runtimelinking"; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # 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
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
       # 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
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -11633,7 +11913,8 @@ freebsd* | dragonfly*)
   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'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -11693,10 +11974,11 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -11848,7 +12130,12 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) 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"
@@ -11917,11 +12204,32 @@ openbsd* | bitrig*)
 
 os2*)
   libname_spec='$name'
+  version_type=windows
   shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname$shared_ext $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  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'
   ;;
 
 osf3* | osf4* | osf5*)
@@ -11997,7 +12305,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
@@ -12052,10 +12360,25 @@ fi
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
 
 
 
@@ -12526,7 +12849,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -12632,7 +12955,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -12781,8 +13104,12 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
     ;;
 
   aix[4-9]*)
-    if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-      test yes = "$enable_shared" && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -16071,7 +16398,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by C Extension Library $as_me 1.2, which was
+This file was extended by C Extension Library $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16137,7 +16464,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-C Extension Library config.status 1.2
+C Extension Library config.status 1.2.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -16272,6 +16599,7 @@ macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -16392,7 +16720,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -16510,7 +16839,8 @@ postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
@@ -17556,6 +17886,9 @@ $as_echo X"$file" |
 # The names of the tagged configurations supported by this script.
 available_tags=''
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 
 # Whether or not to build static libraries.
@@ -17574,6 +17907,9 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -17802,8 +18138,11 @@ hardcode_into_libs=$hardcode_into_libs
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -17954,6 +18293,65 @@ hardcode_action=$hardcode_action
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
diff --git a/libcext/configure.ac b/libcext/configure.ac
index 53b457f..bbcee95 100644
--- a/libcext/configure.ac
+++ b/libcext/configure.ac
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([C Extension Library], [1.2], [cpl-help at eso.org], [cext])
+AC_INIT([C Extension Library], [1.2.1], [cpl-help at eso.org], [cext])
 AC_PREREQ([2.59])
 
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -28,7 +28,7 @@ AM_MAINTAINER_MODE
 #
 
 # Order of arguments: CURRENT, REVISION, AGE
-ESO_SET_LIBRARY_VERSION([2], [0], [2])
+ESO_SET_LIBRARY_VERSION([2], [1], [2])
 
 
 # Checks for programs.
diff --git a/libcext/html/cxconfig_8h_source.html b/libcext/html/cxconfig_8h_source.html
index f8e470e..46e515f 100644
--- a/libcext/html/cxconfig_8h_source.html
+++ b/libcext/html/cxconfig_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxdeque_8h_source.html b/libcext/html/cxdeque_8h_source.html
index a9fa602..8546e95 100644
--- a/libcext/html/cxdeque_8h_source.html
+++ b/libcext/html/cxdeque_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
@@ -174,35 +174,35 @@
 <div class="line"><a name="l00123"></a><span class="lineno">  123</span> CX_END_DECLS</div>
 <div class="line"><a name="l00124"></a><span class="lineno">  124</span> </div>
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span> <span class="preprocessor">#endif </span><span class="comment">/* CX_DEQUE_H */</span><span class="preprocessor"></span></div>
-<div class="ttc" id="group__cxdeque_html_ga0cf7b04e8acb40fbbd1f3727c7ae5981"><div class="ttname"><a href="group__cxdeque.html#ga0cf7b04e8acb40fbbd1f3727c7ae5981">cx_deque_remove</a></div><div class="ttdeci">void cx_deque_remove(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Remove all elements with a given value from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1470</div></div>
-<div class="ttc" id="group__cxdeque_html_ga8fd5474fc6be1684f6b964ae71626b0b"><div class="ttname"><a href="group__cxdeque.html#ga8fd5474fc6be1684f6b964ae71626b0b">cx_deque_max_size</a></div><div class="ttdeci">cxsize cx_deque_max_size(const cx_deque *deque)</div><div class="ttdoc">Get the maximum number of deque elements possible. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:925</div></div>
-<div class="ttc" id="group__cxdeque_html_ga2ca9af2987ea657a140ad084979abad0"><div class="ttname"><a href="group__cxdeque.html#ga2ca9af2987ea657a140ad084979abad0">cx_deque_unique</a></div><div class="ttdeci">void cx_deque_unique(cx_deque *deque, cx_compare_func compare)</div><div class="ttdoc">Remove duplicates of consecutive elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1515</div></div>
-<div class="ttc" id="group__cxdeque_html_ga19f6812a711e91faa4549f815c1c8a17"><div class="ttname"><a href="group__cxdeque.html#ga19f6812a711e91faa4549f815c1c8a17">cx_deque_erase</a></div><div class="ttdeci">cx_deque_iterator cx_deque_erase(cx_deque *deque, cx_deque_iterator position, cx_free_func deallocate)</div><div class="ttdoc">Erase a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1379</div></div>
-<div class="ttc" id="group__cxdeque_html_gaa6b6977bbddfd9ce593caadfe6055b55"><div class="ttname"><a href="group__cxdeque.html#gaa6b6977bbddfd9ce593caadfe6055b55">cx_deque_extract</a></div><div class="ttdeci">cxptr cx_deque_extract(cx_deque *deque, cx_deque_iterator position)</div><div class="ttdoc">Extract a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1443</div></div>
-<div class="ttc" id="group__cxdeque_html_ga5a3a8e35681c3553e40b980e30d333f7"><div class="ttname"><a href="group__cxdeque.html#ga5a3a8e35681c3553e40b980e30d333f7">cx_deque_size</a></div><div class="ttdeci">cxsize cx_deque_size(const cx_deque *deque)</div><div class="ttdoc">Get the actual number of deque elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:881</div></div>
-<div class="ttc" id="group__cxdeque_html_ga4f3183c0256c05f86ac94ece2cfec9bb"><div class="ttname"><a href="group__cxdeque.html#ga4f3183c0256c05f86ac94ece2cfec9bb">cx_deque_pop_back</a></div><div class="ttdeci">cxptr cx_deque_pop_back(cx_deque *deque)</div><div class="ttdoc">Remove the last deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1305</div></div>
-<div class="ttc" id="group__cxdeque_html_gab0fd66397386847260275b8b43649d55"><div class="ttname"><a href="group__cxdeque.html#gab0fd66397386847260275b8b43649d55">cx_deque_sort</a></div><div class="ttdeci">void cx_deque_sort(cx_deque *deque, cx_compare_func compare)</div><div class="ttdoc">Sort all elements of a deque using the given comparison function. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1653</div></div>
-<div class="ttc" id="group__cxdeque_html_gac615671b4a9ba93eafdc37a8641a40d0"><div class="ttname"><a href="group__cxdeque.html#gac615671b4a9ba93eafdc37a8641a40d0">cx_deque_next</a></div><div class="ttdeci">cx_deque_iterator cx_deque_next(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Get an iterator for the next deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1146</div></div>
-<div class="ttc" id="group__cxdeque_html_ga08414696dbbe9888ae5f8d1e346e94c8"><div class="ttname"><a href="group__cxdeque.html#ga08414696dbbe9888ae5f8d1e346e94c8">cx_deque_new</a></div><div class="ttdeci">cx_deque * cx_deque_new(void)</div><div class="ttdoc">Create a new deque without any elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:791</div></div>
-<div class="ttc" id="group__cxdeque_html_ga7a1a134e57f98d00273d3b7c061c9d47"><div class="ttname"><a href="group__cxdeque.html#ga7a1a134e57f98d00273d3b7c061c9d47">cx_deque_merge</a></div><div class="ttdeci">void cx_deque_merge(cx_deque *deque, cx_deque *other, cx_compare_func compare)</div><div class="ttdoc">Merge two sorted deques. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1621</div></div>
-<div class="ttc" id="group__cxdeque_html_gaf93f33c892ead7b2ced1c7417ec3076a"><div class="ttname"><a href="group__cxdeque.html#gaf93f33c892ead7b2ced1c7417ec3076a">cx_deque_push_front</a></div><div class="ttdeci">void cx_deque_push_front(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Insert data at the beginning of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1199</div></div>
-<div class="ttc" id="group__cxdeque_html_ga30fd04264fec944999d39d62a48a09fc"><div class="ttname"><a href="group__cxdeque.html#ga30fd04264fec944999d39d62a48a09fc">cx_deque_get</a></div><div class="ttdeci">cxptr cx_deque_get(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Retrieve an element from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1071</div></div>
-<div class="ttc" id="group__cxdeque_html_ga9c9278302d630b0cd955f71553f02a92"><div class="ttname"><a href="group__cxdeque.html#ga9c9278302d630b0cd955f71553f02a92">cx_deque_assign</a></div><div class="ttdeci">cxptr cx_deque_assign(cx_deque *deque, cx_deque_iterator position, cxptr data)</div><div class="ttdoc">Assign data to a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:992</div></div>
-<div class="ttc" id="group__cxdeque_html_gaa2fc80632e4d71a70b41ad428b725fd2"><div class="ttname"><a href="group__cxdeque.html#gaa2fc80632e4d71a70b41ad428b725fd2">cx_deque_destroy</a></div><div class="ttdeci">void cx_deque_destroy(cx_deque *deque, cx_free_func deallocate)</div><div class="ttdoc">Destroy a deque and all its elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:843</div></div>
-<div class="ttc" id="group__cxdeque_html_ga75310934211aac1916975a5c0a5db654"><div class="ttname"><a href="group__cxdeque.html#ga75310934211aac1916975a5c0a5db654">cx_deque_push_back</a></div><div class="ttdeci">void cx_deque_push_back(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Append data at the end of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1264</div></div>
-<div class="ttc" id="group__cxdeque_html_gaccc454dff4ccc6be34f54427f7cbd44a"><div class="ttname"><a href="group__cxdeque.html#gaccc454dff4ccc6be34f54427f7cbd44a">cx_deque_delete</a></div><div class="ttdeci">void cx_deque_delete(cx_deque *deque)</div><div class="ttdoc">Destroy a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:815</div></div>
-<div class="ttc" id="group__cxdeque_html_ga2ce86c4fc6ecbfd0642cf01ba7417716"><div class="ttname"><a href="group__cxdeque.html#ga2ce86c4fc6ecbfd0642cf01ba7417716">cx_deque_insert</a></div><div class="ttdeci">cx_deque_iterator cx_deque_insert(cx_deque *deque, cx_deque_iterator position, cxcptr data)</div><div class="ttdoc">Insert data into a deque at a given iterator position. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1335</div></div>
-<div class="ttc" id="group__cxdeque_html_ga24ba79d19e01d953a4a249f57836f9c1"><div class="ttname"><a href="group__cxdeque.html#ga24ba79d19e01d953a4a249f57836f9c1">cx_deque_end</a></div><div class="ttdeci">cx_deque_iterator cx_deque_end(const cx_deque *deque)</div><div class="ttdoc">Get an iterator for the position after the last deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1121</div></div>
-<div class="ttc" id="group__cxdeque_html_gadc972ac99ddbca0a82ca4133fa5ff1ed"><div class="ttname"><a href="group__cxdeque.html#gadc972ac99ddbca0a82ca4133fa5ff1ed">cx_deque_front</a></div><div class="ttdeci">cxptr cx_deque_front(const cx_deque *deque)</div><div class="ttdoc">Get the first element of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1022</div></div>
-<div class="ttc" id="group__cxdeque_html_ga28ee348bdd3fb6a09488bf1867381d2a"><div class="ttname"><a href="group__cxdeque.html#ga28ee348bdd3fb6a09488bf1867381d2a">cx_deque_pop_front</a></div><div class="ttdeci">cxptr cx_deque_pop_front(cx_deque *deque)</div><div class="ttdoc">Remove the first deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1234</div></div>
-<div class="ttc" id="group__cxdeque_html_gac76b0d1a0364b2fc9ae0eec8bab7e53b"><div class="ttname"><a href="group__cxdeque.html#gac76b0d1a0364b2fc9ae0eec8bab7e53b">cx_deque_empty</a></div><div class="ttdeci">cxbool cx_deque_empty(const cx_deque *deque)</div><div class="ttdoc">Check whether a deque is empty. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:903</div></div>
-<div class="ttc" id="group__cxdeque_html_ga462895062b73db7aebb3d1b4e01960f8"><div class="ttname"><a href="group__cxdeque.html#ga462895062b73db7aebb3d1b4e01960f8">cx_deque_splice</a></div><div class="ttdeci">void cx_deque_splice(cx_deque *deque, cx_deque_iterator position, cx_deque *other, cx_deque_iterator start, cx_deque_iterator end)</div><div class="ttdoc">Move a range of elements in front of a given position. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1568</div></div>
-<div class="ttc" id="group__cxdeque_html_gad29871e44bf1e90a9ec77a1b8f353182"><div class="ttname"><a href="group__cxdeque.html#gad29871e44bf1e90a9ec77a1b8f353182">cx_deque_begin</a></div><div class="ttdeci">cx_deque_iterator cx_deque_begin(const cx_deque *deque)</div><div class="ttdoc">Get an iterator for the first deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1098</div></div>
-<div class="ttc" id="group__cxdeque_html_ga45a29a6526f9d754289b3fe2a42d4a8e"><div class="ttname"><a href="group__cxdeque.html#ga45a29a6526f9d754289b3fe2a42d4a8e">cx_deque_back</a></div><div class="ttdeci">cxptr cx_deque_back(const cx_deque *deque)</div><div class="ttdoc">Get the last element of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1046</div></div>
-<div class="ttc" id="group__cxdeque_html_ga6f346315cb2fba4efe3e5978f65edf5e"><div class="ttname"><a href="group__cxdeque.html#ga6f346315cb2fba4efe3e5978f65edf5e">cx_deque_clear</a></div><div class="ttdeci">void cx_deque_clear(cx_deque *deque)</div><div class="ttdoc">Remove all elements from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1418</div></div>
-<div class="ttc" id="group__cxdeque_html_ga8f823cbda988974e970cd228bb8dcea2"><div class="ttname"><a href="group__cxdeque.html#ga8f823cbda988974e970cd228bb8dcea2">cx_deque_reverse</a></div><div class="ttdeci">void cx_deque_reverse(cx_deque *deque)</div><div class="ttdoc">Reverse the order of all deque elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1677</div></div>
-<div class="ttc" id="group__cxdeque_html_ga1468b31126cccf70990247bf1629d7b5"><div class="ttname"><a href="group__cxdeque.html#ga1468b31126cccf70990247bf1629d7b5">cx_deque_swap</a></div><div class="ttdeci">void cx_deque_swap(cx_deque *deque, cx_deque *other)</div><div class="ttdoc">Swap the data of two deques. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:949</div></div>
-<div class="ttc" id="group__cxdeque_html_ga85b439c6ddfa9f73cb89b968286ff996"><div class="ttname"><a href="group__cxdeque.html#ga85b439c6ddfa9f73cb89b968286ff996">cx_deque_previous</a></div><div class="ttdeci">cx_deque_iterator cx_deque_previous(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Get an iterator for the previous deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1171</div></div>
+<div class="ttc" id="group__cxdeque_html_ga0cf7b04e8acb40fbbd1f3727c7ae5981"><div class="ttname"><a href="group__cxdeque.html#ga0cf7b04e8acb40fbbd1f3727c7ae5981">cx_deque_remove</a></div><div class="ttdeci">void cx_deque_remove(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Remove all elements with a given value from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1482</div></div>
+<div class="ttc" id="group__cxdeque_html_ga8fd5474fc6be1684f6b964ae71626b0b"><div class="ttname"><a href="group__cxdeque.html#ga8fd5474fc6be1684f6b964ae71626b0b">cx_deque_max_size</a></div><div class="ttdeci">cxsize cx_deque_max_size(const cx_deque *deque)</div><div class="ttdoc">Get the maximum number of deque elements possible. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:937</div></div>
+<div class="ttc" id="group__cxdeque_html_ga2ca9af2987ea657a140ad084979abad0"><div class="ttname"><a href="group__cxdeque.html#ga2ca9af2987ea657a140ad084979abad0">cx_deque_unique</a></div><div class="ttdeci">void cx_deque_unique(cx_deque *deque, cx_compare_func compare)</div><div class="ttdoc">Remove duplicates of consecutive elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1527</div></div>
+<div class="ttc" id="group__cxdeque_html_ga19f6812a711e91faa4549f815c1c8a17"><div class="ttname"><a href="group__cxdeque.html#ga19f6812a711e91faa4549f815c1c8a17">cx_deque_erase</a></div><div class="ttdeci">cx_deque_iterator cx_deque_erase(cx_deque *deque, cx_deque_iterator position, cx_free_func deallocate)</div><div class="ttdoc">Erase a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1391</div></div>
+<div class="ttc" id="group__cxdeque_html_gaa6b6977bbddfd9ce593caadfe6055b55"><div class="ttname"><a href="group__cxdeque.html#gaa6b6977bbddfd9ce593caadfe6055b55">cx_deque_extract</a></div><div class="ttdeci">cxptr cx_deque_extract(cx_deque *deque, cx_deque_iterator position)</div><div class="ttdoc">Extract a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1455</div></div>
+<div class="ttc" id="group__cxdeque_html_ga5a3a8e35681c3553e40b980e30d333f7"><div class="ttname"><a href="group__cxdeque.html#ga5a3a8e35681c3553e40b980e30d333f7">cx_deque_size</a></div><div class="ttdeci">cxsize cx_deque_size(const cx_deque *deque)</div><div class="ttdoc">Get the actual number of deque elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:893</div></div>
+<div class="ttc" id="group__cxdeque_html_ga4f3183c0256c05f86ac94ece2cfec9bb"><div class="ttname"><a href="group__cxdeque.html#ga4f3183c0256c05f86ac94ece2cfec9bb">cx_deque_pop_back</a></div><div class="ttdeci">cxptr cx_deque_pop_back(cx_deque *deque)</div><div class="ttdoc">Remove the last deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1317</div></div>
+<div class="ttc" id="group__cxdeque_html_gab0fd66397386847260275b8b43649d55"><div class="ttname"><a href="group__cxdeque.html#gab0fd66397386847260275b8b43649d55">cx_deque_sort</a></div><div class="ttdeci">void cx_deque_sort(cx_deque *deque, cx_compare_func compare)</div><div class="ttdoc">Sort all elements of a deque using the given comparison function. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1665</div></div>
+<div class="ttc" id="group__cxdeque_html_gac615671b4a9ba93eafdc37a8641a40d0"><div class="ttname"><a href="group__cxdeque.html#gac615671b4a9ba93eafdc37a8641a40d0">cx_deque_next</a></div><div class="ttdeci">cx_deque_iterator cx_deque_next(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Get an iterator for the next deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1158</div></div>
+<div class="ttc" id="group__cxdeque_html_ga08414696dbbe9888ae5f8d1e346e94c8"><div class="ttname"><a href="group__cxdeque.html#ga08414696dbbe9888ae5f8d1e346e94c8">cx_deque_new</a></div><div class="ttdeci">cx_deque * cx_deque_new(void)</div><div class="ttdoc">Create a new deque without any elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:803</div></div>
+<div class="ttc" id="group__cxdeque_html_ga7a1a134e57f98d00273d3b7c061c9d47"><div class="ttname"><a href="group__cxdeque.html#ga7a1a134e57f98d00273d3b7c061c9d47">cx_deque_merge</a></div><div class="ttdeci">void cx_deque_merge(cx_deque *deque, cx_deque *other, cx_compare_func compare)</div><div class="ttdoc">Merge two sorted deques. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1633</div></div>
+<div class="ttc" id="group__cxdeque_html_gaf93f33c892ead7b2ced1c7417ec3076a"><div class="ttname"><a href="group__cxdeque.html#gaf93f33c892ead7b2ced1c7417ec3076a">cx_deque_push_front</a></div><div class="ttdeci">void cx_deque_push_front(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Insert data at the beginning of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1211</div></div>
+<div class="ttc" id="group__cxdeque_html_ga30fd04264fec944999d39d62a48a09fc"><div class="ttname"><a href="group__cxdeque.html#ga30fd04264fec944999d39d62a48a09fc">cx_deque_get</a></div><div class="ttdeci">cxptr cx_deque_get(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Retrieve an element from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1083</div></div>
+<div class="ttc" id="group__cxdeque_html_ga9c9278302d630b0cd955f71553f02a92"><div class="ttname"><a href="group__cxdeque.html#ga9c9278302d630b0cd955f71553f02a92">cx_deque_assign</a></div><div class="ttdeci">cxptr cx_deque_assign(cx_deque *deque, cx_deque_iterator position, cxptr data)</div><div class="ttdoc">Assign data to a deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1004</div></div>
+<div class="ttc" id="group__cxdeque_html_gaa2fc80632e4d71a70b41ad428b725fd2"><div class="ttname"><a href="group__cxdeque.html#gaa2fc80632e4d71a70b41ad428b725fd2">cx_deque_destroy</a></div><div class="ttdeci">void cx_deque_destroy(cx_deque *deque, cx_free_func deallocate)</div><div class="ttdoc">Destroy a deque and all its elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:855</div></div>
+<div class="ttc" id="group__cxdeque_html_ga75310934211aac1916975a5c0a5db654"><div class="ttname"><a href="group__cxdeque.html#ga75310934211aac1916975a5c0a5db654">cx_deque_push_back</a></div><div class="ttdeci">void cx_deque_push_back(cx_deque *deque, cxcptr data)</div><div class="ttdoc">Append data at the end of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1276</div></div>
+<div class="ttc" id="group__cxdeque_html_gaccc454dff4ccc6be34f54427f7cbd44a"><div class="ttname"><a href="group__cxdeque.html#gaccc454dff4ccc6be34f54427f7cbd44a">cx_deque_delete</a></div><div class="ttdeci">void cx_deque_delete(cx_deque *deque)</div><div class="ttdoc">Destroy a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:827</div></div>
+<div class="ttc" id="group__cxdeque_html_ga2ce86c4fc6ecbfd0642cf01ba7417716"><div class="ttname"><a href="group__cxdeque.html#ga2ce86c4fc6ecbfd0642cf01ba7417716">cx_deque_insert</a></div><div class="ttdeci">cx_deque_iterator cx_deque_insert(cx_deque *deque, cx_deque_iterator position, cxcptr data)</div><div class="ttdoc">Insert data into a deque at a given iterator position. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1347</div></div>
+<div class="ttc" id="group__cxdeque_html_ga24ba79d19e01d953a4a249f57836f9c1"><div class="ttname"><a href="group__cxdeque.html#ga24ba79d19e01d953a4a249f57836f9c1">cx_deque_end</a></div><div class="ttdeci">cx_deque_iterator cx_deque_end(const cx_deque *deque)</div><div class="ttdoc">Get an iterator for the position after the last deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1133</div></div>
+<div class="ttc" id="group__cxdeque_html_gadc972ac99ddbca0a82ca4133fa5ff1ed"><div class="ttname"><a href="group__cxdeque.html#gadc972ac99ddbca0a82ca4133fa5ff1ed">cx_deque_front</a></div><div class="ttdeci">cxptr cx_deque_front(const cx_deque *deque)</div><div class="ttdoc">Get the first element of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1034</div></div>
+<div class="ttc" id="group__cxdeque_html_ga28ee348bdd3fb6a09488bf1867381d2a"><div class="ttname"><a href="group__cxdeque.html#ga28ee348bdd3fb6a09488bf1867381d2a">cx_deque_pop_front</a></div><div class="ttdeci">cxptr cx_deque_pop_front(cx_deque *deque)</div><div class="ttdoc">Remove the first deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1246</div></div>
+<div class="ttc" id="group__cxdeque_html_gac76b0d1a0364b2fc9ae0eec8bab7e53b"><div class="ttname"><a href="group__cxdeque.html#gac76b0d1a0364b2fc9ae0eec8bab7e53b">cx_deque_empty</a></div><div class="ttdeci">cxbool cx_deque_empty(const cx_deque *deque)</div><div class="ttdoc">Check whether a deque is empty. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:915</div></div>
+<div class="ttc" id="group__cxdeque_html_ga462895062b73db7aebb3d1b4e01960f8"><div class="ttname"><a href="group__cxdeque.html#ga462895062b73db7aebb3d1b4e01960f8">cx_deque_splice</a></div><div class="ttdeci">void cx_deque_splice(cx_deque *deque, cx_deque_iterator position, cx_deque *other, cx_deque_iterator start, cx_deque_iterator end)</div><div class="ttdoc">Move a range of elements in front of a given position. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1580</div></div>
+<div class="ttc" id="group__cxdeque_html_gad29871e44bf1e90a9ec77a1b8f353182"><div class="ttname"><a href="group__cxdeque.html#gad29871e44bf1e90a9ec77a1b8f353182">cx_deque_begin</a></div><div class="ttdeci">cx_deque_iterator cx_deque_begin(const cx_deque *deque)</div><div class="ttdoc">Get an iterator for the first deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1110</div></div>
+<div class="ttc" id="group__cxdeque_html_ga45a29a6526f9d754289b3fe2a42d4a8e"><div class="ttname"><a href="group__cxdeque.html#ga45a29a6526f9d754289b3fe2a42d4a8e">cx_deque_back</a></div><div class="ttdeci">cxptr cx_deque_back(const cx_deque *deque)</div><div class="ttdoc">Get the last element of a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1058</div></div>
+<div class="ttc" id="group__cxdeque_html_ga6f346315cb2fba4efe3e5978f65edf5e"><div class="ttname"><a href="group__cxdeque.html#ga6f346315cb2fba4efe3e5978f65edf5e">cx_deque_clear</a></div><div class="ttdeci">void cx_deque_clear(cx_deque *deque)</div><div class="ttdoc">Remove all elements from a deque. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1430</div></div>
+<div class="ttc" id="group__cxdeque_html_ga8f823cbda988974e970cd228bb8dcea2"><div class="ttname"><a href="group__cxdeque.html#ga8f823cbda988974e970cd228bb8dcea2">cx_deque_reverse</a></div><div class="ttdeci">void cx_deque_reverse(cx_deque *deque)</div><div class="ttdoc">Reverse the order of all deque elements. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1689</div></div>
+<div class="ttc" id="group__cxdeque_html_ga1468b31126cccf70990247bf1629d7b5"><div class="ttname"><a href="group__cxdeque.html#ga1468b31126cccf70990247bf1629d7b5">cx_deque_swap</a></div><div class="ttdeci">void cx_deque_swap(cx_deque *deque, cx_deque *other)</div><div class="ttdoc">Swap the data of two deques. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:961</div></div>
+<div class="ttc" id="group__cxdeque_html_ga85b439c6ddfa9f73cb89b968286ff996"><div class="ttname"><a href="group__cxdeque.html#ga85b439c6ddfa9f73cb89b968286ff996">cx_deque_previous</a></div><div class="ttdeci">cx_deque_iterator cx_deque_previous(const cx_deque *deque, cx_deque_const_iterator position)</div><div class="ttdoc">Get an iterator for the previous deque element. </div><div class="ttdef"><b>Definition:</b> cxdeque.c:1183</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/libcext/html/cxfileutils_8h_source.html b/libcext/html/cxfileutils_8h_source.html
index ed53086..e8c36f2 100644
--- a/libcext/html/cxfileutils_8h_source.html
+++ b/libcext/html/cxfileutils_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxlist_8h_source.html b/libcext/html/cxlist_8h_source.html
index 294cf2d..ce99480 100644
--- a/libcext/html/cxlist_8h_source.html
+++ b/libcext/html/cxlist_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxmacros_8h_source.html b/libcext/html/cxmacros_8h_source.html
index b5d16bc..c36a1f9 100644
--- a/libcext/html/cxmacros_8h_source.html
+++ b/libcext/html/cxmacros_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxmap_8h_source.html b/libcext/html/cxmap_8h_source.html
index 3ff14c5..c51d255 100644
--- a/libcext/html/cxmap_8h_source.html
+++ b/libcext/html/cxmap_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxmemory_8h_source.html b/libcext/html/cxmemory_8h_source.html
index 2c780d5..4a2c516 100644
--- a/libcext/html/cxmemory_8h_source.html
+++ b/libcext/html/cxmemory_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxmessages_8h_source.html b/libcext/html/cxmessages_8h_source.html
index 4f02138..935ae4b 100644
--- a/libcext/html/cxmessages_8h_source.html
+++ b/libcext/html/cxmessages_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxmultimap_8h_source.html b/libcext/html/cxmultimap_8h_source.html
index e8c51a0..b127bc7 100644
--- a/libcext/html/cxmultimap_8h_source.html
+++ b/libcext/html/cxmultimap_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxslist_8h_source.html b/libcext/html/cxslist_8h_source.html
index 1c844fb..bb425f3 100644
--- a/libcext/html/cxslist_8h_source.html
+++ b/libcext/html/cxslist_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxstring_8h_source.html b/libcext/html/cxstring_8h_source.html
index b07a673..9bc16ac 100644
--- a/libcext/html/cxstring_8h_source.html
+++ b/libcext/html/cxstring_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxstrutils_8h_source.html b/libcext/html/cxstrutils_8h_source.html
index 252abaa..b16817f 100644
--- a/libcext/html/cxstrutils_8h_source.html
+++ b/libcext/html/cxstrutils_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxthread_8h_source.html b/libcext/html/cxthread_8h_source.html
index 0f18a76..9f41f03 100644
--- a/libcext/html/cxthread_8h_source.html
+++ b/libcext/html/cxthread_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxtree_8h_source.html b/libcext/html/cxtree_8h_source.html
index 544ac44..12c4bb6 100644
--- a/libcext/html/cxtree_8h_source.html
+++ b/libcext/html/cxtree_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxtypes_8h_source.html b/libcext/html/cxtypes_8h_source.html
index e22c704..8ec3fb7 100644
--- a/libcext/html/cxtypes_8h_source.html
+++ b/libcext/html/cxtypes_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/cxutils_8h_source.html b/libcext/html/cxutils_8h_source.html
index 2811fc7..8d09689 100644
--- a/libcext/html/cxutils_8h_source.html
+++ b/libcext/html/cxutils_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/dir_c2959b2ad5731f3b356ab222d87e802c.html b/libcext/html/dir_c2959b2ad5731f3b356ab222d87e802c.html
index 0cde079..5adc8ff 100644
--- a/libcext/html/dir_c2959b2ad5731f3b356ab222d87e802c.html
+++ b/libcext/html/dir_c2959b2ad5731f3b356ab222d87e802c.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/files.html b/libcext/html/files.html
index 9554783..c63e218 100644
--- a/libcext/html/files.html
+++ b/libcext/html/files.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxdeque.html b/libcext/html/group__cxdeque.html
index d904f38..2262468 100644
--- a/libcext/html/group__cxdeque.html
+++ b/libcext/html/group__cxdeque.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxfileutils.html b/libcext/html/group__cxfileutils.html
index 13b6f1b..3d968fc 100644
--- a/libcext/html/group__cxfileutils.html
+++ b/libcext/html/group__cxfileutils.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxlist.html b/libcext/html/group__cxlist.html
index f26e396..ab13dc6 100644
--- a/libcext/html/group__cxlist.html
+++ b/libcext/html/group__cxlist.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxmap.html b/libcext/html/group__cxmap.html
index fa39ca5..6e1520d 100644
--- a/libcext/html/group__cxmap.html
+++ b/libcext/html/group__cxmap.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxmemory.html b/libcext/html/group__cxmemory.html
index 9b3e882..8dd7391 100644
--- a/libcext/html/group__cxmemory.html
+++ b/libcext/html/group__cxmemory.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxmessages.html b/libcext/html/group__cxmessages.html
index ead18e6..b8070f2 100644
--- a/libcext/html/group__cxmessages.html
+++ b/libcext/html/group__cxmessages.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxmultimap.html b/libcext/html/group__cxmultimap.html
index e990a3e..180ee60 100644
--- a/libcext/html/group__cxmultimap.html
+++ b/libcext/html/group__cxmultimap.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxslist.html b/libcext/html/group__cxslist.html
index eb355c5..1c8489b 100644
--- a/libcext/html/group__cxslist.html
+++ b/libcext/html/group__cxslist.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxstring.html b/libcext/html/group__cxstring.html
index a7dd667..851568d 100644
--- a/libcext/html/group__cxstring.html
+++ b/libcext/html/group__cxstring.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxstrutils.html b/libcext/html/group__cxstrutils.html
index 468524b..e9db530 100644
--- a/libcext/html/group__cxstrutils.html
+++ b/libcext/html/group__cxstrutils.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxtree.html b/libcext/html/group__cxtree.html
index 3c0f96e..8c9cdd9 100644
--- a/libcext/html/group__cxtree.html
+++ b/libcext/html/group__cxtree.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/group__cxutils.html b/libcext/html/group__cxutils.html
index 34a7a26..254612a 100644
--- a/libcext/html/group__cxutils.html
+++ b/libcext/html/group__cxutils.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/index.html b/libcext/html/index.html
index 6648450..5a192d3 100644
--- a/libcext/html/index.html
+++ b/libcext/html/index.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/modules.html b/libcext/html/modules.html
index 6ce6bff..5acdea4 100644
--- a/libcext/html/modules.html
+++ b/libcext/html/modules.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/html/snprintf_8h_source.html b/libcext/html/snprintf_8h_source.html
index 7ab10a3..ec481c6 100644
--- a/libcext/html/snprintf_8h_source.html
+++ b/libcext/html/snprintf_8h_source.html
@@ -18,7 +18,7 @@
  <tr style="height: 56px;">
   <td style="padding-left: 0.5em;">
    <div id="projectname">C Standard Library Extensions
-    <span id="projectnumber">1.2</span>
+    <span id="projectnumber">1.2.1</span>
    </div>
   </td>
  </tr>
diff --git a/libcext/m4/eso.m4 b/libcext/m4/eso.m4
index 6b1410f..80d8291 100644
--- a/libcext/m4/eso.m4
+++ b/libcext/m4/eso.m4
@@ -84,7 +84,7 @@ AC_DEFUN([ESO_ENABLE_DEBUG],
 
     AC_ARG_ENABLE(debug,
                   AC_HELP_STRING([--enable-debug],
-                                 [creates debugging code [[default=$1]]]),
+                                 [creates debugging code [default=$1]]),
                   eso_enable_debug=$enableval, eso_enable_debug=$1)
 
     AC_CACHE_CHECK([whether debugging code should be created],
@@ -135,7 +135,7 @@ AC_DEFUN([ESO_ENABLE_STRICT],
 
     AC_ARG_ENABLE(strict,
                   AC_HELP_STRING([--enable-strict],
-                                 [compiles with strict compiler options (may not work!) [[default=$1]]]),
+                                 [compiles with strict compiler options (may not work!) [default=$1]]),
                   eso_enable_strict=$enableval, eso_enable_strict=$1)
 
     AC_CACHE_CHECK([whether strict compiler options should be used],
@@ -172,7 +172,7 @@ AC_DEFUN([ESO_ENABLE_PROFILE],
 
     AC_ARG_ENABLE(profile,
                   AC_HELP_STRING([--enable-profile],
-                                 [compiles with compiler options necessary for profiling (may not work!) [[default=$1]]]),
+                                 [compiles with compiler options necessary for profiling (may not work!) [default=$1]]),
                   eso_enable_profile=$enableval, eso_enable_profile=$1)
 
     AC_CACHE_CHECK([whether profiling compiler options should be used],
diff --git a/libcext/m4/libtool.m4 b/libcext/m4/libtool.m4
index 068f0d8..a3bc337 100644
--- a/libcext/m4/libtool.m4
+++ b/libcext/m4/libtool.m4
@@ -1,6 +1,6 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
-#   Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -103,19 +103,36 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
 
 
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
 # _LT_CC_BASENAME(CC)
 # -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
 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-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
 ])
 
 
@@ -720,6 +737,9 @@ _LT_CONFIG_SAVE_COMMANDS([
 _LT_COPYING
 _LT_LIBTOOL_TAGS
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 _LT_LIBTOOL_CONFIG_VARS
 _LT_LIBTOOL_TAG_VARS
@@ -727,6 +747,17 @@ _LT_LIBTOOL_TAG_VARS
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
@@ -1840,7 +1871,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -2202,6 +2233,47 @@ _LT_DECL([], [striplib], [1])
 ])# _LT_CMD_STRIPLIB
 
 
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x at S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
 # _LT_SYS_DYNAMIC_LINKER([TAG])
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
@@ -2212,6 +2284,7 @@ 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
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
 	[], [
@@ -2306,6 +2379,9 @@ hardcode_into_libs=no
 # flags to be left without arguments
 need_version=unknown
 
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
@@ -2342,20 +2418,70 @@ aix[[4-9]]*)
       fi
       ;;
     esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
     # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test yes = "$aix_use_runtimelinking"; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # 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
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
       # 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
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -2543,7 +2669,8 @@ freebsd* | dragonfly*)
   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'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -2603,10 +2730,11 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -2739,7 +2867,12 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) 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"
@@ -2808,11 +2941,32 @@ openbsd* | bitrig*)
 
 os2*)
   libname_spec='$name'
+  version_type=windows
   shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname$shared_ext $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  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'
   ;;
 
 osf3* | osf4* | osf5*)
@@ -2888,7 +3042,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
@@ -2942,10 +3096,20 @@ fi
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
 _LT_DECL([], [variables_saved_for_relink], [1],
     [Variables whose values should be saved in libtool wrapper scripts and
     restored at link time])
@@ -2978,8 +3142,10 @@ _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_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
 ])# _LT_SYS_DYNAMIC_LINKER
 
 
@@ -3452,6 +3618,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 ])
 
@@ -4060,6 +4229,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
 	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
@@ -4379,6 +4553,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
 	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4476,6 +4655,11 @@ m4_if([$1], [CXX], [
       # 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'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -4725,13 +4909,17 @@ m4_if([$1], [CXX], [
   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".
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
     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'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { 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'
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
@@ -4942,6 +5130,34 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5015,6 +5231,9 @@ _LT_EOF
         fi
 
 	case $cc_basename in
+	tcc*)
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+	  ;;
 	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'
@@ -5144,19 +5363,35 @@ _LT_EOF
 	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".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	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'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { 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'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	  for ld_flag in $LDFLAGS; do
 	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
@@ -5164,6 +5399,13 @@ _LT_EOF
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -5183,6 +5425,14 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+	;;
+      esac
 
       if test yes = "$GCC"; then
 	case $host_os in aix4.[[012]]|aix4.[[012]].*)
@@ -5210,6 +5460,11 @@ _LT_EOF
 	if test yes = "$aix_use_runtimelinking"; then
 	  shared_flag="$shared_flag "'$wl-G'
 	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
 	if test ia64 = "$host_cpu"; then
@@ -5222,6 +5477,8 @@ _LT_EOF
 	  else
 	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
@@ -5229,7 +5486,7 @@ _LT_EOF
       # 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 yes = "$aix_use_runtimelinking"; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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'
@@ -5260,8 +5517,20 @@ _LT_EOF
 	    _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'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 3 [...]
+	  else
+	    # used by -dlpreopen to get the symbols
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -5515,6 +5784,16 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
     netbsd*)
       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
@@ -5560,8 +5839,28 @@ _LT_EOF
       _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'
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     osf3*)
@@ -5956,8 +6255,12 @@ if test -n "$compiler"; then
     ;;
 
   aix[[4-9]]*)
-    if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-      test yes = "$enable_shared" && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -6145,7 +6448,19 @@ if test yes != "$_lt_caught_CXX_error"; then
 
           # 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.
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	    for ld_flag in $LDFLAGS; do
 	      case $ld_flag in
@@ -6155,6 +6470,13 @@ if test yes != "$_lt_caught_CXX_error"; then
 	        ;;
 	      esac
 	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
 	    ;;
           esac
 
@@ -6174,6 +6496,14 @@ if test yes != "$_lt_caught_CXX_error"; then
         _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
         _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
 
         if test yes = "$GXX"; then
           case $host_os in aix4.[[012]]|aix4.[[012]].*)
@@ -6200,6 +6530,11 @@ if test yes != "$_lt_caught_CXX_error"; then
 	  if test yes = "$aix_use_runtimelinking"; then
 	    shared_flag=$shared_flag' $wl-G'
 	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
         else
           # not using gcc
           if test ia64 = "$host_cpu"; then
@@ -6212,6 +6547,8 @@ if test yes != "$_lt_caught_CXX_error"; then
 	    else
 	      shared_flag='$wl-bM:SRE'
 	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
           fi
         fi
 
@@ -6220,10 +6557,11 @@ if test yes != "$_lt_caught_CXX_error"; then
         # underscore (_), so it is better to generate a list of symbols to
 	# export.
         _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test yes = "$aix_use_runtimelinking"; then
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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'
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
           _LT_SYS_MODULE_PATH_AIX([$1])
@@ -6252,9 +6590,21 @@ if test yes != "$_lt_caught_CXX_error"; then
 	      _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'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# [...]
+	    else
+	      # used by -dlpreopen to get the symbols
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
           fi
         fi
         ;;
@@ -6354,6 +6704,34 @@ if test yes != "$_lt_caught_CXX_error"; then
         _LT_DARWIN_LINKER_FEATURES($1)
 	;;
 
+      os2*)
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	shrext_cmds=.dll
+	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+
       dgux*)
         case $cc_basename in
           ec++*)
@@ -7067,6 +7445,7 @@ func_stripname_cnf ()
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7245,51 +7624,6 @@ interix[[3-9]]*)
   _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 yes != "$solaris_use_stlport4"; 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 yes != "$solaris_use_stlport4"; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
 esac
 ])
 
@@ -7407,8 +7741,12 @@ if test yes != "$_lt_disable_F77"; then
         fi
         ;;
       aix[[4-9]]*)
-	if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-	  test yes = "$enable_shared" && enable_static=no
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
 	fi
         ;;
     esac
@@ -7541,8 +7879,12 @@ if test yes != "$_lt_disable_FC"; then
         fi
         ;;
       aix[[4-9]]*)
-	if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-	  test yes = "$enable_shared" && enable_static=no
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
 	fi
         ;;
     esac
diff --git a/libcext/m4/ltoptions.m4 b/libcext/m4/ltoptions.m4
index de6520e..94b0829 100644
--- a/libcext/m4/ltoptions.m4
+++ b/libcext/m4/ltoptions.m4
@@ -1,6 +1,6 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004-2005, 2007-2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Gary V. Vaughan, 2004
 #
@@ -82,6 +82,8 @@ m4_if([$1],[LT_INIT],[
   _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_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+		   [_LT_WITH_AIX_SONAME([aix])])
   ])
 ])# _LT_SET_OPTIONS
 
@@ -319,6 +321,59 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 
 
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
 # _LT_WITH_PIC([MODE])
 # --------------------
 # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
diff --git a/libcext/m4/ltsugar.m4 b/libcext/m4/ltsugar.m4
index da4ac6b..48bc934 100644
--- a/libcext/m4/ltsugar.m4
+++ b/libcext/m4/ltsugar.m4
@@ -1,6 +1,6 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
 # Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
diff --git a/libcext/m4/ltversion.m4 b/libcext/m4/ltversion.m4
index 3535ff4..fa04b52 100644
--- a/libcext/m4/ltversion.m4
+++ b/libcext/m4/ltversion.m4
@@ -1,6 +1,6 @@
 # ltversion.m4 -- version numbers			-*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 4105 ltversion.m4
+# serial 4179 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4.2.458.26-92994])
-m4_define([LT_PACKAGE_REVISION], [2.4.3])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2.458.26-92994'
-macro_revision='2.4.3'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/libcext/m4/lt~obsolete.m4 b/libcext/m4/lt~obsolete.m4
index 6975098..c6b26f8 100644
--- a/libcext/m4/lt~obsolete.m4
+++ b/libcext/m4/lt~obsolete.m4
@@ -1,6 +1,6 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004-2005, 2007, 2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
diff --git a/libcext/tests/Makefile.in b/libcext/tests/Makefile.in
index e7a2d1a..bcb08ad 100644
--- a/libcext/tests/Makefile.in
+++ b/libcext/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -87,8 +97,6 @@ TESTS = cxslist-test$(EXEEXT) cxlist-test$(EXEEXT) \
 	cxtypes-test$(EXEEXT)
 XFAIL_TESTS =
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/admin/depcomp $(top_srcdir)/admin/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -97,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/eso.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -403,6 +412,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/admin/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/admin/depcomp \
+	$(top_srcdir)/admin/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -453,6 +464,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_AGE = @LT_AGE@
 LT_CURRENT = @LT_CURRENT@
 LT_REVISION = @LT_REVISION@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -572,7 +584,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -751,7 +762,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -1084,6 +1095,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # We need to remove any files that the above tests created.
 clean-local:
diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am
index 6c4350d..2329004 100644
--- a/libltdl/Makefile.am
+++ b/libltdl/Makefile.am
@@ -1,6 +1,6 @@
 ## ltdl.mk -- includable Makefile snippet
 ##
-##   Copyright (C) 2003-2005, 2007, 2011-2014 Free Software Foundation,
+##   Copyright (C) 2003-2005, 2007, 2011-2015 Free Software Foundation,
 ##   Inc.
 ##   Written by Gary V. Vaughan, 2003
 ##
@@ -46,7 +46,7 @@ MOSTLYCLEANFILES =
 # (not as a sub-package!) using 'nostdinc':
 AM_CPPFLAGS	       += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
 			  -DLTDL -I. -I$(srcdir) -Ilibltdl \
-			  -I$(srcdir)/libltdl -I$(srcdir)/libltdl
+			  -I$(srcdir)/libltdl
 AM_LDFLAGS	       += -no-undefined
 LTDL_VERSION_INFO	= -version-info 10:1:3
 
@@ -144,16 +144,16 @@ EXTRA_DIST	       += COPYING.LIB \
 ## Gnulib Makefile.am snippets ##
 ## --------------------------- ##
 
-BUILT_SOURCES	+= $(ARGZ_H)
-EXTRA_DIST	+= argz_.h \
-		   argz.c
+BUILT_SOURCES	+= libltdl/$(LT_ARGZ_H)
+EXTRA_DIST	+= libltdl/lt__argz_.h \
+		   lt__argz.c
 
 # We need the following in order to create an <argz.h> when the system
 # doesn't have one that works with the given compiler.
-all-local $(lib_OBJECTS): $(ARGZ_H)
-argz.h: argz_.h
-	$(AM_V_at)$(mkinstalldirs) . 
-	$(AM_V_GEN)cp $(srcdir)/argz_.h $@-t
+all-local $(lib_OBJECTS): $(LT_ARGZ_H)
+libltdl/lt__argz.h: libltdl/lt__argz_.h
+	$(AM_V_at)$(mkinstalldirs) . libltdl
+	$(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t
 	$(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += argz.h \
-		    argz.h-t
+MOSTLYCLEANFILES += libltdl/lt__argz.h \
+		    libltdl/lt__argz.h-t
diff --git a/libltdl/Makefile.in b/libltdl/Makefile.in
index 6b57098..694448c 100644
--- a/libltdl/Makefile.in
+++ b/libltdl/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -85,28 +95,18 @@ host_triplet = @host@
 @INSTALL_LTDL_TRUE at am__append_2 = libltdl.la
 @CONVENIENCE_LTDL_TRUE at am__append_3 = libltdlc.la
 subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config-h.in lt__dirent.c argz.c lt__strl.c \
-	$(top_srcdir)/../admin/depcomp $(am__include_HEADERS_DIST) \
-	$(am__ltdlinclude_HEADERS_DIST) COPYING.LIB README \
-	../admin/compile ../admin/config.guess ../admin/config.sub \
-	../admin/depcomp ../admin/install-sh ../admin/missing \
-	../admin/ltmain.sh $(top_srcdir)/../admin/compile \
-	$(top_srcdir)/../admin/config.guess \
-	$(top_srcdir)/../admin/config.sub \
-	$(top_srcdir)/../admin/install-sh \
-	$(top_srcdir)/../admin/ltmain.sh \
-	$(top_srcdir)/../admin/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../m4/argz.m4 \
-	$(top_srcdir)/../m4/libtool.m4 $(top_srcdir)/../m4/ltdl.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../m4/libtool.m4 \
+	$(top_srcdir)/../m4/ltargz.m4 $(top_srcdir)/../m4/ltdl.m4 \
 	$(top_srcdir)/../m4/ltoptions.m4 \
 	$(top_srcdir)/../m4/ltsugar.m4 \
 	$(top_srcdir)/../m4/ltversion.m4 \
 	$(top_srcdir)/../m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__include_HEADERS_DIST) \
+	$(am__ltdlinclude_HEADERS_DIST) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -278,6 +278,19 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 AM_RECURSIVE_TARGETS = cscope
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config-h.in \
+	$(top_srcdir)/../admin/compile \
+	$(top_srcdir)/../admin/config.guess \
+	$(top_srcdir)/../admin/config.sub \
+	$(top_srcdir)/../admin/depcomp \
+	$(top_srcdir)/../admin/install-sh \
+	$(top_srcdir)/../admin/ltmain.sh \
+	$(top_srcdir)/../admin/missing ../admin/compile \
+	../admin/config.guess ../admin/config.sub \
+	../admin/depcomp ../admin/install-sh \
+	../admin/ltmain.sh \
+	../admin/missing COPYING.LIB \
+	README lt__argz.c lt__dirent.c lt__strl.c
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -299,7 +312,6 @@ ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 AR = @AR@
-ARGZ_H = @ARGZ_H@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -341,9 +353,11 @@ LIPO = @LIPO@
 LN_S = @LN_S@
 LTDLOPEN = @LTDLOPEN@
 LTLIBOBJS = @LTLIBOBJS@
+LT_ARGZ_H = @LT_ARGZ_H@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
@@ -426,18 +440,19 @@ AUTOMAKE_OPTIONS = foreign
 # -I$(srcdir) is needed for user that built libltdl with a sub-Automake
 # (not as a sub-package!) using 'nostdinc':
 AM_CPPFLAGS = -DLT_CONFIG_H='<$(LT_CONFIG_H)>' -DLTDL -I. -I$(srcdir) \
-	-Ilibltdl -I$(srcdir)/libltdl -I$(srcdir)/libltdl
+	-Ilibltdl -I$(srcdir)/libltdl
 AM_LDFLAGS = -no-undefined
-BUILT_SOURCES = $(ARGZ_H)
+BUILT_SOURCES = libltdl/$(LT_ARGZ_H)
 include_HEADERS = $(am__append_1)
 noinst_LTLIBRARIES = $(LT_DLLOADERS) $(am__append_3)
 lib_LTLIBRARIES = $(am__append_2)
 EXTRA_LTLIBRARIES = dlopen.la dld_link.la dyld.la load_add_on.la \
 	loadlibrary.la shl_load.la
-EXTRA_DIST = lt__dirent.c lt__strl.c COPYING.LIB README argz_.h argz.c
+EXTRA_DIST = lt__dirent.c lt__strl.c COPYING.LIB README \
+	libltdl/lt__argz_.h lt__argz.c
 CLEANFILES = libltdl.la libltdlc.la libdlloader.la $(LIBOBJS) \
 	$(LTLIBOBJS)
-MOSTLYCLEANFILES = argz.h argz.h-t
+MOSTLYCLEANFILES = libltdl/lt__argz.h libltdl/lt__argz.h-t
 LTDL_VERSION_INFO = -version-info 10:1:3
 @INSTALL_LTDL_TRUE at ltdlincludedir = $(includedir)/libltdl
 @INSTALL_LTDL_TRUE at ltdlinclude_HEADERS = libltdl/lt_system.h \
@@ -505,7 +520,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -640,7 +654,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/argz.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__argz.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__dirent.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__strl.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libltdl_la-lt__alloc.Plo at am__quote@
@@ -937,15 +951,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -981,17 +995,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1185,13 +1199,15 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
 	tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
 	uninstall-libLTLIBRARIES uninstall-ltdlincludeHEADERS
 
+.PRECIOUS: Makefile
+
 
 # We need the following in order to create an <argz.h> when the system
 # doesn't have one that works with the given compiler.
-all-local $(lib_OBJECTS): $(ARGZ_H)
-argz.h: argz_.h
-	$(AM_V_at)$(mkinstalldirs) . 
-	$(AM_V_GEN)cp $(srcdir)/argz_.h $@-t
+all-local $(lib_OBJECTS): $(LT_ARGZ_H)
+libltdl/lt__argz.h: libltdl/lt__argz_.h
+	$(AM_V_at)$(mkinstalldirs) . libltdl
+	$(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t
 	$(AM_V_at)mv $@-t $@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/libltdl/README b/libltdl/README
index b7e89a7..c9629ed 100644
--- a/libltdl/README
+++ b/libltdl/README
@@ -9,7 +9,7 @@ It supports the following dlopen interfaces:
 * dyld (darwin/Mac OS X)
 * libtool's dlpreopen
 --
-   Copyright (C) 1999, 2003, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2011-2015 Free Software Foundation, Inc.
    Written by Thomas Tanner, 1999
 
    This file is part of GNU Libtool.
diff --git a/libltdl/aclocal.m4 b/libltdl/aclocal.m4
index 1f4906c..6beb61f 100644
--- a/libltdl/aclocal.m4
+++ b/libltdl/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ 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'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # 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'
+[am__api_version='1.15'
 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], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_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
+[AM_AUTOMAKE_VERSION([1.15])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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[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.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -499,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <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.
+# We need awk for the "check" target (and possibly the TAP driver).  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
@@ -573,7 +572,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 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
@@ -602,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -644,7 +647,7 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -694,7 +697,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -733,7 +736,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -762,7 +765,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -809,7 +812,7 @@ 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.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -828,7 +831,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -909,7 +912,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -969,7 +972,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -997,7 +1000,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1016,7 +1019,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1147,8 +1150,8 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([../m4/argz.m4])
 m4_include([../m4/libtool.m4])
+m4_include([../m4/ltargz.m4])
 m4_include([../m4/ltdl.m4])
 m4_include([../m4/ltoptions.m4])
 m4_include([../m4/ltsugar.m4])
diff --git a/libltdl/config-h.in b/libltdl/config-h.in
index d8e1d58..3061cbe 100644
--- a/libltdl/config-h.in
+++ b/libltdl/config-h.in
@@ -140,6 +140,9 @@
 /* Define to the shared library suffix, say, ".dylib". */
 #undef LT_SHARED_EXT
 
+/* Define to the shared archive member specification, say "(shr.o)". */
+#undef LT_SHARED_LIB_MEMBER
+
 /* Define if dlsym() requires a leading underscore in symbol names. */
 #undef NEED_USCORE
 
diff --git a/libltdl/configure b/libltdl/configure
index 63f922b..b45f38a 100644
--- a/libltdl/configure
+++ b/libltdl/configure
@@ -641,7 +641,7 @@ CONVENIENCE_LTDL_FALSE
 CONVENIENCE_LTDL_TRUE
 INSTALL_LTDL_FALSE
 INSTALL_LTDL_TRUE
-ARGZ_H
+LT_ARGZ_H
 LIBOBJS
 sys_symbol_underscore
 LIBADD_DL
@@ -651,6 +651,7 @@ LIBADD_SHL_LOAD
 LIBADD_DLOPEN
 LT_DLLOADERS
 CPP
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
@@ -771,6 +772,7 @@ enable_shared
 enable_static
 with_pic
 enable_fast_install
+with_aix_soname
 enable_dependency_tracking
 with_gnu_ld
 with_sysroot
@@ -785,6 +787,7 @@ CFLAGS
 LDFLAGS
 LIBS
 CPPFLAGS
+LT_SYS_LIBRARY_PATH
 CPP'
 
 
@@ -1422,6 +1425,9 @@ Optional Packages:
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                           compiler's sysroot if not specified).
@@ -1434,6 +1440,8 @@ Some influential environment variables:
   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>
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   CPP         C preprocessor
 
 Use these variables to override the choices made by `configure' or to help
@@ -2272,7 +2280,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 ## Automake Initialisation. ##
 ## ------------------------ ##
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2444,8 +2452,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2464,7 +2472,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -2792,8 +2800,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -2850,6 +2858,7 @@ END
     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   fi
 fi
+
 # Check whether --enable-silent-rules was given.
 if test "${enable_silent_rules+set}" = set; then :
   enableval=$enable_silent_rules;
@@ -2908,8 +2917,8 @@ esac
 
 
 
-macro_version='2.4.2.458.26-92994'
-macro_revision='2.4.3'
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
 
 
@@ -5317,6 +5326,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 
 fi
@@ -6362,6 +6374,21 @@ $as_echo "$lt_cv_truncate_bin" >&6; }
 
 
 
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then :
   enableval=$enable_libtool_lock;
@@ -7369,6 +7396,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
     ;;
   esac
 
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8082,6 +8144,58 @@ fi
 
 
 
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
 
 
 
@@ -8201,15 +8315,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
 test -z "$LD" && LD=ld
 test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; 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-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
 
 # Only perform the check for file, if the check method requires it
@@ -8520,6 +8627,11 @@ lt_prog_compiler_static=
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -8616,6 +8728,11 @@ lt_prog_compiler_static=
       # 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).
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -9256,6 +9373,34 @@ _LT_EOF
       link_all_deplibs=yes
       ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
@@ -9329,6 +9474,9 @@ _LT_EOF
         fi
 
 	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
@@ -9458,19 +9606,35 @@ _LT_EOF
 	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".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
 	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
 	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
@@ -9478,6 +9642,13 @@ _LT_EOF
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -9497,6 +9668,14 @@ _LT_EOF
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
       file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
 
       if test yes = "$GCC"; then
 	case $host_os in aix4.[012]|aix4.[012].*)
@@ -9524,6 +9703,11 @@ _LT_EOF
 	if test yes = "$aix_use_runtimelinking"; then
 	  shared_flag="$shared_flag "'$wl-G'
 	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
 	if test ia64 = "$host_cpu"; then
@@ -9536,6 +9720,8 @@ _LT_EOF
 	  else
 	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
@@ -9543,7 +9729,7 @@ _LT_EOF
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       always_export_symbols=yes
-      if test yes = "$aix_use_runtimelinking"; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
 	# Warning - without using the other runtime loading flags (-brtl),
 	# -berok will link without error, but may produce a broken library.
 	allow_undefined_flag='-berok'
@@ -9658,8 +9844,20 @@ fi
 	    whole_archive_flag_spec='$convenience'
 	  fi
 	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$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'
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) >  [...]
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -9978,6 +10176,16 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
@@ -10023,8 +10231,28 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$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'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
       ;;
 
     osf3*)
@@ -10547,6 +10775,8 @@ hardcode_into_libs=no
 # 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
@@ -10583,20 +10813,70 @@ aix[4-9]*)
       fi
       ;;
     esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
     # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test yes = "$aix_use_runtimelinking"; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # 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
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
       # 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
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -10784,7 +11064,8 @@ freebsd* | dragonfly*)
   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'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -10844,10 +11125,11 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -10999,7 +11281,12 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) 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"
@@ -11068,11 +11355,32 @@ openbsd* | bitrig*)
 
 os2*)
   libname_spec='$name'
+  version_type=windows
   shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname$shared_ext $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  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'
   ;;
 
 osf3* | osf4* | osf5*)
@@ -11148,7 +11456,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
@@ -11203,10 +11511,25 @@ fi
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
 
 
 
@@ -11677,7 +12000,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -11783,7 +12106,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -11932,8 +12255,12 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
     ;;
 
   aix[4-9]*)
-    if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-      test yes = "$enable_shared" && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -12009,6 +12336,13 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 fi
+if test -n "$shared_archive_member_spec"; then
+
+cat >>confdefs.h <<_ACEOF
+#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)"
+_ACEOF
+
+fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5
 $as_echo_n "checking what variable specifies run-time module search path... " >&6; }
@@ -12062,6 +12396,7 @@ 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
 
+lt_dlload_save_LIBS=$LIBS
 
 LIBADD_DLOPEN=
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
@@ -12286,7 +12621,7 @@ fi
 beos*)
   LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
   ;;
-cygwin* | mingw* | os2* | pw32*)
+cygwin* | mingw* | pw32*)
   ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include <sys/cygwin.h>
 "
 if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then :
@@ -12364,6 +12699,7 @@ fi
 LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
 
 
+LIBS=$lt_dlload_save_LIBS
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -12419,111 +12755,104 @@ $as_echo "$lt_cv_sys_symbol_underscore" >&6; }
 
 
 if test yes = "$lt_cv_sys_symbol_underscore"; then
-  if test yes = "$libltdl_cv_func_dlopen" ||
-     test yes = "$libltdl_cv_lib_dl_dlopen"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5
+  if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5
 $as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; }
 if ${libltdl_cv_need_uscore+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   libltdl_cv_need_uscore=unknown
-          save_LIBS=$LIBS
-          LIBS="$LIBS $LIBADD_DLOPEN"
-	  if test yes = "$cross_compiling"; then :
-  libltdl_cv_need_uscore=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
+      dlsym_uscore_save_LIBS=$LIBS
+      LIBS="$LIBS $LIBADD_DLOPEN"
+      libname=conftmod # stay within 8.3 filename limits!
+      cat >$libname.$ac_ext <<_LT_EOF
 #line $LINENO "configure"
 #include "confdefs.h"
+/* When -fvisibility=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; }
+_LT_EOF
 
+      # ltfn_module_cmds module_cmds
+      # Execute tilde-delimited MODULE_CMDS with environment primed for
+      # $module_cmds or $archive_cmds type content.
+      ltfn_module_cmds ()
+      {( # subshell avoids polluting parent global environment
+          module_cmds_save_ifs=$IFS; IFS='~'
+          for cmd in $1; do
+            IFS=$module_cmds_save_ifs
+            libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext
+            rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=.
+            major=; versuffix=; verstring=; deplibs=
+            ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag=
+            eval $cmd
+          done
+          IFS=$module_cmds_save_ifs
+      )}
+
+      # Compile a loadable module using libtool macro expansion results.
+      $CC $pic_flag -c $libname.$ac_ext
+      ltfn_module_cmds "${module_cmds:-$archive_cmds}"
+
+      # Try to fetch fnord with dlsym().
+      libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2
+      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
+#ifndef RTLD_GLOBAL
 #  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
+#    define RTLD_GLOBAL DL_GLOBAL
 #  else
-#    define LT_DLGLOBAL		0
+#    define RTLD_GLOBAL 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
+#ifndef RTLD_NOW
+#  ifdef DL_NOW
+#    define RTLD_NOW DL_NOW
 #  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
+#    define RTLD_NOW 0
 #  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;
+int main () {
+  void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW);
+  int status = $libltdl_dlunknown;
+  if (handle) {
+    if (dlsym (handle, "fnord"))
+      status = $libltdl_dlnouscore;
+    else {
+      if (dlsym (handle, "_fnord"))
+        status = $libltdl_dluscore;
       else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
+	puts (dlerror ());
     }
-  else
+    dlclose (handle);
+  } else
     puts (dlerror ());
-
   return status;
 }
 _LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) libltdl_cv_need_uscore=no ;;
-      x$lt_dlneed_uscore) libltdl_cv_need_uscore=yes ;;
-      x$lt_dlunknown|x*)  ;;
-    esac
-  else :
-    # compilation failed
-
-  fi
-fi
-rm -fr conftest*
-
-	  LIBS=$save_LIBS
+        (./conftest; exit; ) >&5 2>/dev/null
+        libltdl_status=$?
+        case x$libltdl_status in
+          x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;;
+	  x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;;
+	  x*) libltdl_cv_need_uscore=unknown ;;
+        esac
+      fi
+      rm -rf conftest* $libname*
+      LIBS=$dlsym_uscore_save_LIBS
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5
@@ -12642,7 +12971,6 @@ $as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h
 
 fi
 
-:
 
 for ac_header in argz.h
 do :
@@ -12679,7 +13007,7 @@ $as_echo "#define __error_t_defined 1" >>confdefs.h
 fi
 
 
-ARGZ_H=
+LT_ARGZ_H=
 for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \
 	argz_next argz_stringify
 do :
@@ -12691,9 +13019,9 @@ if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 _ACEOF
 
 else
-  ARGZ_H=argz.h; case " $LIBOBJS " in
-  *" argz.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS argz.$ac_objext"
+  LT_ARGZ_H=lt__argz.h; case " $LIBOBJS " in
+  *" lt__argz.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext"
  ;;
 esac
 
@@ -12701,7 +13029,7 @@ fi
 done
 
 
-if test -z "$ARGZ_H"; then :
+if test -z "$LT_ARGZ_H"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5
 $as_echo_n "checking if argz actually works... " >&6; }
 if ${lt_cv_sys_argz_works+:} false; then :
@@ -12740,10 +13068,10 @@ $as_echo "$lt_cv_sys_argz_works" >&6; }
 $as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h
 
 else
-  ARGZ_H=argz.h
+  LT_ARGZ_H=lt__argz.h
         case " $LIBOBJS " in
-  *" argz.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS argz.$ac_objext"
+  *" lt__argz.$ac_objext "* ) ;;
+  *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext"
  ;;
 esac
 
@@ -13636,6 +13964,7 @@ enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -13754,7 +14083,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -13873,7 +14203,8 @@ postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
@@ -14648,6 +14979,9 @@ $as_echo X"$file" |
 # The names of the tagged configurations supported by this script.
 available_tags=''
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 
 # Which release of libtool.m4 was used?
@@ -14675,6 +15009,9 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -14897,8 +15234,11 @@ hardcode_into_libs=$hardcode_into_libs
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -15049,6 +15389,65 @@ hardcode_action=$hardcode_action
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
diff --git a/libltdl/configure.ac b/libltdl/configure.ac
index 7451c77..19d59cb 100644
--- a/libltdl/configure.ac
+++ b/libltdl/configure.ac
@@ -1,6 +1,6 @@
 # Process this file with autoconf to create configure. -*- autoconf -*-
 #
-#    Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
+#    Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
 #    Foundation, Inc.
 #    Written by Gary V. Vaughan, 2004
 #
diff --git a/libltdl/libltdl/lt__alloc.h b/libltdl/libltdl/lt__alloc.h
index 07bf3e6..db1a989 100644
--- a/libltdl/libltdl/lt__alloc.h
+++ b/libltdl/libltdl/lt__alloc.h
@@ -1,6 +1,6 @@
 /* lt__alloc.h -- internal memory management interface
 
-   Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
    Written by Gary V. Vaughan, 2004
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/argz_.h b/libltdl/libltdl/lt__argz_.h
similarity index 97%
rename from libltdl/argz_.h
rename to libltdl/libltdl/lt__argz_.h
index 8f0b854..e0d3b18 100644
--- a/libltdl/argz_.h
+++ b/libltdl/libltdl/lt__argz_.h
@@ -1,6 +1,6 @@
 /* lt__argz.h -- internal argz interface for non-glibc systems
 
-   Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
diff --git a/libltdl/libltdl/lt__dirent.h b/libltdl/libltdl/lt__dirent.h
index e7660e7..9b6aaea 100644
--- a/libltdl/libltdl/lt__dirent.h
+++ b/libltdl/libltdl/lt__dirent.h
@@ -1,6 +1,6 @@
 /* lt__dirent.h -- internal directory entry scanning interface
 
-   Copyright (C) 2001, 2004, 2006, 2011-2014 Free Software Foundation,
+   Copyright (C) 2001, 2004, 2006, 2011-2015 Free Software Foundation,
    Inc.
    Written by Bob Friesenhahn, 2001
 
diff --git a/libltdl/libltdl/lt__glibc.h b/libltdl/libltdl/lt__glibc.h
index 8b96c89..80ee450 100644
--- a/libltdl/libltdl/lt__glibc.h
+++ b/libltdl/libltdl/lt__glibc.h
@@ -1,6 +1,6 @@
 /* lt__glibc.h -- support for non glibc environments
 
-   Copyright (C) 2004, 2006-2007, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
@@ -53,7 +53,10 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #  define argz_next		lt__argz_next
 #  undef  argz_stringify
 #  define argz_stringify	lt__argz_stringify
-#endif
+
+#  include <lt__argz.h>
+
+#else
 
 #ifdef __cplusplus
 extern "C" {
@@ -65,6 +68,8 @@ extern "C" {
 }
 #endif
 
+#endif /*!defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ*/
+
 # define slist_concat	lt__slist_concat
 # define slist_cons	lt__slist_cons
 # define slist_delete	lt__slist_delete
diff --git a/libltdl/libltdl/lt__private.h b/libltdl/libltdl/lt__private.h
index 2bee9b5..a91849b 100644
--- a/libltdl/libltdl/lt__private.h
+++ b/libltdl/libltdl/lt__private.h
@@ -1,6 +1,6 @@
 /* lt__private.h -- internal apis for libltdl
 
-   Copyright (C) 2004-2008, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2008, 2011-2015 Free Software Foundation, Inc.
    Written by Gary V. Vaughan, 2004
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/libltdl/lt__strl.h b/libltdl/libltdl/lt__strl.h
index d5f44fd..a1db2e6 100644
--- a/libltdl/libltdl/lt__strl.h
+++ b/libltdl/libltdl/lt__strl.h
@@ -1,6 +1,6 @@
 /* lt__strl.h -- size-bounded string copying and concatenation
 
-   Copyright (C) 2004, 2006, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006, 2011-2015 Free Software Foundation, Inc.
    Written by Bob Friesenhahn, 2004
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/libltdl/lt_dlloader.h b/libltdl/libltdl/lt_dlloader.h
index 68b0be5..66cf047 100644
--- a/libltdl/libltdl/lt_dlloader.h
+++ b/libltdl/libltdl/lt_dlloader.h
@@ -1,6 +1,6 @@
 /* lt_dlloader.h -- dynamic library loader interface
 
-   Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
diff --git a/libltdl/libltdl/lt_error.h b/libltdl/libltdl/lt_error.h
index 5fb0688..367c36b 100644
--- a/libltdl/libltdl/lt_error.h
+++ b/libltdl/libltdl/lt_error.h
@@ -1,6 +1,6 @@
 /* lt_error.h -- error propagation interface
 
-   Copyright (C) 1999-2001, 2004, 2007, 2011-2014 Free Software
+   Copyright (C) 1999-2001, 2004, 2007, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1999
 
diff --git a/libltdl/libltdl/lt_system.h b/libltdl/libltdl/lt_system.h
index 428beed..a9bc7ec 100644
--- a/libltdl/libltdl/lt_system.h
+++ b/libltdl/libltdl/lt_system.h
@@ -1,6 +1,6 @@
 /* lt_system.h -- system portability abstraction layer
 
-   Copyright (C) 2004, 2007, 2010-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007, 2010-2015 Free Software Foundation, Inc.
    Written by Gary V. Vaughan, 2004
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/libltdl/slist.h b/libltdl/libltdl/slist.h
index 3ccea14..ba54736 100644
--- a/libltdl/libltdl/slist.h
+++ b/libltdl/libltdl/slist.h
@@ -1,6 +1,6 @@
 /* slist.h -- generalised singly linked lists
 
-   Copyright (C) 2000, 2004, 2009, 2011-2014 Free Software Foundation,
+   Copyright (C) 2000, 2004, 2009, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2000
 
diff --git a/libltdl/loaders/dld_link.c b/libltdl/loaders/dld_link.c
index c5fe3ff..a73880f 100644
--- a/libltdl/loaders/dld_link.c
+++ b/libltdl/loaders/dld_link.c
@@ -1,6 +1,6 @@
 /* loader-dld_link.c -- dynamic linking with dld
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -97,7 +97,7 @@ get_vtable (lt_user_data loader_data)
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   return 0;
@@ -107,8 +107,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
+         lt_dladvise advise LT__UNUSED)
 {
   lt_module module = lt__strdup (filename);
 
@@ -124,7 +124,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
 {
   int errors = 0;
 
@@ -144,7 +144,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module,
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED,
 	const char *name)
 {
   void *address = dld_get_func (name);
diff --git a/libltdl/loaders/dlopen.c b/libltdl/loaders/dlopen.c
index 758d7f4..0bc562c 100644
--- a/libltdl/loaders/dlopen.c
+++ b/libltdl/loaders/dlopen.c
@@ -1,6 +1,6 @@
 /* loader-dlopen.c --  dynamic linking with dlopen/dlsym
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -152,7 +152,7 @@ get_vtable (lt_user_data loader_data)
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   return 0;
@@ -163,11 +163,14 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
          lt_dladvise advise)
 {
   int		module_flags = LT_LAZY_OR_NOW;
   lt_module	module;
+#ifdef RTLD_MEMBER
+  int		len = LT_STRLEN (filename);
+#endif
 
   if (advise)
     {
@@ -191,8 +194,45 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 #endif
     }
 
+#ifdef RTLD_MEMBER /* AIX */
+  if (len >= 4) /* at least "l(m)" */
+    {
+      /* Advise loading an archive member only if the filename really
+	 contains both the opening and closing parent, and a member. */
+      if (filename[len-1] == ')')
+	{
+	  const char *opening = strrchr(filename, '(');
+	  if (opening && opening < (filename+len-2) && strchr(opening+1, '/') == NULL)
+	    module_flags |= RTLD_MEMBER;
+	}
+    }
+#endif
+
   module = dlopen (filename, module_flags);
 
+#if defined RTLD_MEMBER && defined LT_SHARED_LIB_MEMBER
+  if (!module && len && !(module_flags & RTLD_MEMBER) && errno == ENOEXEC)
+    {
+      /* Loading without a member specified failed with "Exec format error".
+	 So the file is there, but either has wrong bitwidth, or is an
+	 archive eventually containing the default shared archive member.
+	 Retry with default member, getting same error in worst case. */
+      const char *member = LT_SHARED_LIB_MEMBER;
+
+      char *attempt = MALLOC (char, len + strlen (member) + 1);
+      if (!attempt)
+	{
+	  LT__SETERROR (NO_MEMORY);
+	  return module;
+	}
+
+      sprintf (attempt, "%s%s", filename, member);
+      module = vm_open (loader_data, attempt, advise);
+      FREE (attempt);
+      return module;
+    }
+#endif
+
   if (!module)
     {
       DL__SETERROR (CANNOT_OPEN);
@@ -205,7 +245,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
 {
   int errors = 0;
 
@@ -222,7 +262,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
 {
   void *address = dlsym (module, name);
 
diff --git a/libltdl/loaders/dyld.c b/libltdl/loaders/dyld.c
index 3ee7354..6c099e0 100644
--- a/libltdl/loaders/dyld.c
+++ b/libltdl/loaders/dyld.c
@@ -1,6 +1,6 @@
 /* loader-dyld.c -- dynamic linking on darwin and OS X
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Peter O'Gorman, 1998
 
@@ -185,7 +185,7 @@ static int dyld_cannot_close				  = 0;
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   return 0;
@@ -226,7 +226,7 @@ vl_init (lt_user_data loader_data)
    module for processing with this loader's other vtable functions.  */
 static lt_module
 vm_open (lt_user_data loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+         lt_dladvise advise LT__UNUSED)
 {
   lt_module module = 0;
   NSObjectFileImage ofi = 0;
diff --git a/libltdl/loaders/load_add_on.c b/libltdl/loaders/load_add_on.c
index 013411f..b070906 100644
--- a/libltdl/loaders/load_add_on.c
+++ b/libltdl/loaders/load_add_on.c
@@ -1,6 +1,6 @@
 /* loader-load_add_on.c --  dynamic linking for BeOS
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -95,7 +95,7 @@ get_vtable (lt_user_data loader_data)
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   return 0;
@@ -105,8 +105,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
+         lt_dladvise advise LT__UNUSED)
 {
   image_id image = 0;
 
@@ -135,7 +135,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
 {
   int errors = 0;
 
@@ -152,7 +152,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
 {
   void *address = 0;
   image_id image = (image_id) module;
diff --git a/libltdl/loaders/loadlibrary.c b/libltdl/loaders/loadlibrary.c
index 0991100..0891f6d 100644
--- a/libltdl/loaders/loadlibrary.c
+++ b/libltdl/loaders/loadlibrary.c
@@ -1,6 +1,6 @@
 /* loader-loadlibrary.c --  dynamic linking for Win32
 
-   Copyright (C) 1998-2000, 2004-2008, 2010-2014 Free Software
+   Copyright (C) 1998-2000, 2004-2008, 2010-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -120,7 +120,7 @@ static char *error_message = 0;
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   LOCALFREE (error_message);
@@ -131,8 +131,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
+         lt_dladvise advise LT__UNUSED)
 {
   lt_module	module	   = 0;
   char		*ext;
@@ -245,7 +245,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
 {
   int errors = 0;
 
@@ -262,7 +262,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
 {
   void *address = (void *) GetProcAddress ((HMODULE) module, name);
 
diff --git a/libltdl/loaders/preopen.c b/libltdl/loaders/preopen.c
index 330a04c..139e373 100644
--- a/libltdl/loaders/preopen.c
+++ b/libltdl/loaders/preopen.c
@@ -1,6 +1,6 @@
 /* loader-preopen.c -- emulate dynamic linking using preloaded_symbols
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -113,7 +113,7 @@ static const	lt_dlsymlist   *default_preloaded_symbols	= 0;
 
 /* A function called through the vtable to initialise this loader.  */
 static int
-vl_init (lt_user_data LT__UNUSED loader_data)
+vl_init (lt_user_data loader_data LT__UNUSED)
 {
   int errors = 0;
 
@@ -130,7 +130,7 @@ vl_init (lt_user_data LT__UNUSED loader_data)
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   free_symlists ();
@@ -142,8 +142,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
+         lt_dladvise advise LT__UNUSED)
 {
   symlist_chain *lists;
   lt_module	 module = 0;
@@ -195,7 +195,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED)
 {
   /* Just to silence gcc -Wall */
   module = 0;
@@ -206,7 +206,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
 {
   lt_dlsymlist	       *symbol = (lt_dlsymlist*) module;
 
diff --git a/libltdl/loaders/shl_load.c b/libltdl/loaders/shl_load.c
index 3b12df3..960386b 100644
--- a/libltdl/loaders/shl_load.c
+++ b/libltdl/loaders/shl_load.c
@@ -1,6 +1,6 @@
 /* loader-shl_load.c --  dynamic linking with shl_load (HP-UX)
 
-   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -138,7 +138,7 @@ get_vtable (lt_user_data loader_data)
 /* A function called through the vtable when this loader is no
    longer needed by the application.  */
 static int
-vl_exit (lt_user_data LT__UNUSED loader_data)
+vl_exit (lt_user_data loader_data LT__UNUSED)
 {
   vtable = NULL;
   return 0;
@@ -148,8 +148,8 @@ vl_exit (lt_user_data LT__UNUSED loader_data)
    loader.  Returns an opaque representation of the newly opened
    module for processing with this loader's other vtable functions.  */
 static lt_module
-vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
-         lt_dladvise LT__UNUSED advise)
+vm_open (lt_user_data loader_data LT__UNUSED, const char *filename,
+         lt_dladvise advise LT__UNUSED)
 {
   static shl_t self = (shl_t) 0;
   lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L);
@@ -184,7 +184,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 /* A function called through the vtable when a particular module
    should be unloaded.  */
 static int
-vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
+vm_close (lt_user_data loader_data LT__UNUSED, lt_module module)
 {
   int errors = 0;
 
@@ -201,7 +201,7 @@ vm_close (lt_user_data LT__UNUSED loader_data, lt_module module)
 /* A function called through the vtable to get the address of
    a symbol loaded from a particular module.  */
 static void *
-vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name)
+vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name)
 {
   void *address = 0;
 
diff --git a/libltdl/lt__alloc.c b/libltdl/lt__alloc.c
index 7743575..d24bf8f 100644
--- a/libltdl/lt__alloc.c
+++ b/libltdl/lt__alloc.c
@@ -1,6 +1,6 @@
 /* lt__alloc.c -- internal memory management interface
 
-   Copyright (C) 2004, 2006-2007, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
diff --git a/libltdl/argz.c b/libltdl/lt__argz.c
similarity index 97%
rename from libltdl/argz.c
rename to libltdl/lt__argz.c
index 2fcb90c..75f7af8 100644
--- a/libltdl/argz.c
+++ b/libltdl/lt__argz.c
@@ -1,6 +1,6 @@
-/* argz.c -- argz implementation for non-glibc systems
+/* lt__argz.c -- argz implementation for non-glibc systems
 
-   Copyright (C) 2004, 2006-2008, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2006-2008, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
@@ -35,7 +35,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
 #  include <config.h>
 #endif
 
-#include <argz.h>
+#include <lt__argz.h>
 
 #include <assert.h>
 #include <stdlib.h>
diff --git a/libltdl/lt__dirent.c b/libltdl/lt__dirent.c
index bc9c377..596aa2b 100644
--- a/libltdl/lt__dirent.c
+++ b/libltdl/lt__dirent.c
@@ -1,6 +1,6 @@
 /* lt__dirent.c -- internal directory entry scanning interface
 
-   Copyright (C) 2001, 2004, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2004, 2011-2015 Free Software Foundation, Inc.
    Written by Bob Friesenhahn, 2001
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/lt__strl.c b/libltdl/lt__strl.c
index 227e22e..65be904 100644
--- a/libltdl/lt__strl.c
+++ b/libltdl/lt__strl.c
@@ -1,6 +1,6 @@
 /* lt__strl.c -- size-bounded string copying and concatenation
 
-   Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
    Written by Bob Friesenhahn, 2004
 
    NOTE: The canonical source of this file is maintained with the
diff --git a/libltdl/lt_dlloader.c b/libltdl/lt_dlloader.c
index 3f6bb97..b81cfa9 100644
--- a/libltdl/lt_dlloader.c
+++ b/libltdl/lt_dlloader.c
@@ -1,6 +1,6 @@
 /* lt_dlloader.c -- dynamic library loader interface
 
-   Copyright (C) 2004, 2007-2008, 2011-2014 Free Software Foundation,
+   Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation,
    Inc.
    Written by Gary V. Vaughan, 2004
 
diff --git a/libltdl/lt_error.c b/libltdl/lt_error.c
index 90a5e8a..7be92c6 100644
--- a/libltdl/lt_error.c
+++ b/libltdl/lt_error.c
@@ -1,6 +1,6 @@
 /* lt_error.c -- error propagation interface
 
-   Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2014 Free Software
+   Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1999
 
diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index 9c02afc..6013f2a 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -1,6 +1,6 @@
 /* ltdl.c -- system independent dlopen wrapper
 
-   Copyright (C) 1998-2000, 2004-2008, 2011-2014 Free Software
+   Copyright (C) 1998-2000, 2004-2008, 2011-2015 Free Software
    Foundation, Inc.
    Written by Thomas Tanner, 1998
 
@@ -815,7 +815,7 @@ find_handle (const char *search_path, const char *base_name,
 
 #if !defined LTDL_DLOPEN_DEPLIBS
 static int
-load_deplibs (lt_dlhandle handle, char * LT__UNUSED deplibs)
+load_deplibs (lt_dlhandle handle, char * deplibs LT__UNUSED)
 {
   handle->depcount = 0;
   return 0;
diff --git a/libltdl/ltdl.h b/libltdl/ltdl.h
index 6d85128..f811399 100644
--- a/libltdl/ltdl.h
+++ b/libltdl/ltdl.h
@@ -1,6 +1,6 @@
 /* ltdl.h -- generic dlopen functions
 
-   Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2014 Free
+   Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2015 Free
    Software Foundation, Inc.
    Written by Thomas Tanner, 1998
 
diff --git a/libltdl/slist.c b/libltdl/slist.c
index db9401b..4c8f20c 100644
--- a/libltdl/slist.c
+++ b/libltdl/slist.c
@@ -1,6 +1,6 @@
 /* slist.c -- generalised singly linked lists
 
-   Copyright (C) 2000, 2004, 2007-2009, 2011-2014 Free Software
+   Copyright (C) 2000, 2004, 2007-2009, 2011-2015 Free Software
    Foundation, Inc.
    Written by Gary V. Vaughan, 2000
 
diff --git a/m4/cpl.m4 b/m4/cpl.m4
index 031e349..1c5dfd6 100644
--- a/m4/cpl.m4
+++ b/m4/cpl.m4
@@ -240,10 +240,14 @@ AC_DEFUN([CPL_CHECK_CFITSIO],
 
                       return 0;
                       ])],
-                      [cpl_cfitsio_version="`cat conftest.out`"],
+                      [
+                       cpl_cfitsio_version="`cat conftest.out`";
+                       rm -f conftest.out
+                      ],
                       [
                        cpl_cfitsio_version="no";
-                       cpl_cfitsio_version_found="`cat conftest.out`"
+                       cpl_cfitsio_version_found="`cat conftest.out`";
+                       rm -f conftest.out
                       ])
 
         AC_MSG_RESULT([$cpl_cfitsio_version])
@@ -603,7 +607,7 @@ AC_DEFUN([CPL_CHECK_WCS],
 
 
     cpl_wcs_check_version="$1"
-    cpl_wcs_check_header="wcslib/wcslib.h"
+    cpl_wcs_check_header="wcslib.h"
     cpl_wcs_check_lib="libwcs.a"
 
     cpl_wcs_includes=""
@@ -643,12 +647,12 @@ AC_DEFUN([CPL_CHECK_WCS],
     		cpl_wcs_incdirs="$cpl_wcs_incdirs /usr/include"
     	
         	test -n "$WCSDIR" && \
-        		cpl_wcs_incdirs="$WCSDIR/include \
+        		cpl_wcs_incdirs="$WCSDIR/include/wcslib \
         					     $cpl_wcs_incdirs"
         	
     	else
     	
-        	cpl_wcs_incdirs="$cpl_with_wcs/include"
+        	cpl_wcs_incdirs="$cpl_with_wcs/include/wcslib"
         	
     	fi
     
@@ -725,7 +729,7 @@ AC_DEFUN([CPL_CHECK_WCS],
         
         # Setup the symbols
 
-        WCS_INCLUDES="-I$cpl_wcs_includes/wcslib"
+        WCS_INCLUDES="-I$cpl_wcs_includes"
         WCS_LDFLAGS="-L$cpl_wcs_libraries"
         LIBWCS="-lwcs -lm"
         LIBWCS_STATIC="$cpl_wcs_libraries/$cpl_wcs_check_lib -lm"
@@ -792,10 +796,14 @@ AC_DEFUN([CPL_CHECK_WCS],
 
                       return 0;                      
                       ])],
-                      [cpl_wcs_version="`cat conftest.out`"],
+                      [
+                       cpl_wcs_version="`cat conftest.out`";
+                       rm -f conftest.out
+                      ],
                       [
                        cpl_wcs_version="no";
-                       cpl_wcs_version_found="`cat conftest.out`"
+                       cpl_wcs_version_found="`cat conftest.out`";
+                       rm -f conftest.out
                       ])
 
         AC_MSG_RESULT([$cpl_wcs_version])
@@ -1036,10 +1044,14 @@ AC_DEFUN([CPL_CHECK_FFTW],
 
                       return 0;                      
                       ])],
-                      [cpl_fftw_version="`cat conftest.out`"],
+                      [
+                       cpl_fftw_version="`cat conftest.out`";
+                       rm -f conftest.out
+                      ],
                       [
                        cpl_fftw_version="no";
-                       cpl_fftw_version_found="`cat conftest.out`"
+                       cpl_fftw_version_found="`cat conftest.out`";
+                       rm -f conftest.out
                       ])
 
         AC_MSG_RESULT([$cpl_fftw_version])
@@ -1176,10 +1188,14 @@ AC_DEFUN([CPL_CHECK_FFTW],
 
                       return 0;                      
                       ])],
-                      [cpl_fftwf_version="`cat conftest.out`"],
+                      [
+                       cpl_fftwf_version="`cat conftest.out`";
+                       rm -f conftest.out
+                      ],
                       [
                        cpl_fftwf_version="no";
-                       cpl_fftwf_version_found="`cat conftest.out`"
+                       cpl_fftwf_version_found="`cat conftest.out`";
+                       rm -f conftest.out
                       ])
 
         AC_MSG_RESULT([$cpl_fftwf_version])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 068f0d8..a3bc337 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,6 +1,6 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
-#   Copyright (C) 1996-2001, 2003-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -103,19 +103,36 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
 
 
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
 # _LT_CC_BASENAME(CC)
 # -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
 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-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
 ])
 
 
@@ -720,6 +737,9 @@ _LT_CONFIG_SAVE_COMMANDS([
 _LT_COPYING
 _LT_LIBTOOL_TAGS
 
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
 # ### BEGIN LIBTOOL CONFIG
 _LT_LIBTOOL_CONFIG_VARS
 _LT_LIBTOOL_TAG_VARS
@@ -727,6 +747,17 @@ _LT_LIBTOOL_TAG_VARS
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
@@ -1840,7 +1871,7 @@ else
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=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")));
@@ -2202,6 +2233,47 @@ _LT_DECL([], [striplib], [1])
 ])# _LT_CMD_STRIPLIB
 
 
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x at S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
 # _LT_SYS_DYNAMIC_LINKER([TAG])
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
@@ -2212,6 +2284,7 @@ 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
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
 	[], [
@@ -2306,6 +2379,9 @@ hardcode_into_libs=no
 # flags to be left without arguments
 need_version=unknown
 
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
@@ -2342,20 +2418,70 @@ aix[[4-9]]*)
       fi
       ;;
     esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
     # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test yes = "$aix_use_runtimelinking"; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # 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
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
       # 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
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -2543,7 +2669,8 @@ freebsd* | dragonfly*)
   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'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
@@ -2603,10 +2730,11 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='$libname$release$shared_ext$major'
     if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -2739,7 +2867,12 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) 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"
@@ -2808,11 +2941,32 @@ openbsd* | bitrig*)
 
 os2*)
   libname_spec='$name'
+  version_type=windows
   shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname$shared_ext $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  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'
   ;;
 
 osf3* | osf4* | osf5*)
@@ -2888,7 +3042,7 @@ sysv4*MP*)
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
   library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
@@ -2942,10 +3096,20 @@ fi
 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
   sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
+
 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
   sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
 _LT_DECL([], [variables_saved_for_relink], [1],
     [Variables whose values should be saved in libtool wrapper scripts and
     restored at link time])
@@ -2978,8 +3142,10 @@ _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_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
 ])# _LT_SYS_DYNAMIC_LINKER
 
 
@@ -3452,6 +3618,9 @@ sysv4 | sysv4.3*)
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 ])
 
@@ -4060,6 +4229,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
 	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
     darwin* | rhapsody*)
       # PIC is the default on this platform
@@ -4379,6 +4553,11 @@ m4_if([$1], [CXX], [
       # (--disable-auto-import) libraries
       m4_if([$1], [GCJ], [],
 	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4476,6 +4655,11 @@ m4_if([$1], [CXX], [
       # 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'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -4725,13 +4909,17 @@ m4_if([$1], [CXX], [
   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".
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
     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'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { 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'
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
@@ -4942,6 +5130,34 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5015,6 +5231,9 @@ _LT_EOF
         fi
 
 	case $cc_basename in
+	tcc*)
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+	  ;;
 	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'
@@ -5144,19 +5363,35 @@ _LT_EOF
 	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".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	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'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { 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'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	  for ld_flag in $LDFLAGS; do
 	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
@@ -5164,6 +5399,13 @@ _LT_EOF
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -5183,6 +5425,14 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+	;;
+      esac
 
       if test yes = "$GCC"; then
 	case $host_os in aix4.[[012]]|aix4.[[012]].*)
@@ -5210,6 +5460,11 @@ _LT_EOF
 	if test yes = "$aix_use_runtimelinking"; then
 	  shared_flag="$shared_flag "'$wl-G'
 	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
 	if test ia64 = "$host_cpu"; then
@@ -5222,6 +5477,8 @@ _LT_EOF
 	  else
 	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
@@ -5229,7 +5486,7 @@ _LT_EOF
       # 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 yes = "$aix_use_runtimelinking"; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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'
@@ -5260,8 +5517,20 @@ _LT_EOF
 	    _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'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 3 [...]
+	  else
+	    # used by -dlpreopen to get the symbols
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -5515,6 +5784,16 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
     netbsd*)
       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
@@ -5560,8 +5839,28 @@ _LT_EOF
       _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'
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
 
     osf3*)
@@ -5956,8 +6255,12 @@ if test -n "$compiler"; then
     ;;
 
   aix[[4-9]]*)
-    if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-      test yes = "$enable_shared" && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -6145,7 +6448,19 @@ if test yes != "$_lt_caught_CXX_error"; then
 
           # 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.
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	    for ld_flag in $LDFLAGS; do
 	      case $ld_flag in
@@ -6155,6 +6470,13 @@ if test yes != "$_lt_caught_CXX_error"; then
 	        ;;
 	      esac
 	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
 	    ;;
           esac
 
@@ -6174,6 +6496,14 @@ if test yes != "$_lt_caught_CXX_error"; then
         _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
         _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
 
         if test yes = "$GXX"; then
           case $host_os in aix4.[[012]]|aix4.[[012]].*)
@@ -6200,6 +6530,11 @@ if test yes != "$_lt_caught_CXX_error"; then
 	  if test yes = "$aix_use_runtimelinking"; then
 	    shared_flag=$shared_flag' $wl-G'
 	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
         else
           # not using gcc
           if test ia64 = "$host_cpu"; then
@@ -6212,6 +6547,8 @@ if test yes != "$_lt_caught_CXX_error"; then
 	    else
 	      shared_flag='$wl-bM:SRE'
 	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
           fi
         fi
 
@@ -6220,10 +6557,11 @@ if test yes != "$_lt_caught_CXX_error"; then
         # underscore (_), so it is better to generate a list of symbols to
 	# export.
         _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test yes = "$aix_use_runtimelinking"; then
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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'
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
           _LT_SYS_MODULE_PATH_AIX([$1])
@@ -6252,9 +6590,21 @@ if test yes != "$_lt_caught_CXX_error"; then
 	      _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'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# [...]
+	    else
+	      # used by -dlpreopen to get the symbols
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
           fi
         fi
         ;;
@@ -6354,6 +6704,34 @@ if test yes != "$_lt_caught_CXX_error"; then
         _LT_DARWIN_LINKER_FEATURES($1)
 	;;
 
+      os2*)
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	shrext_cmds=.dll
+	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+
       dgux*)
         case $cc_basename in
           ec++*)
@@ -7067,6 +7445,7 @@ func_stripname_cnf ()
 } # func_stripname_cnf
 ])# _LT_FUNC_STRIPNAME_CNF
 
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -7245,51 +7624,6 @@ interix[[3-9]]*)
   _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 yes != "$solaris_use_stlport4"; 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 yes != "$solaris_use_stlport4"; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
 esac
 ])
 
@@ -7407,8 +7741,12 @@ if test yes != "$_lt_disable_F77"; then
         fi
         ;;
       aix[[4-9]]*)
-	if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-	  test yes = "$enable_shared" && enable_static=no
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
 	fi
         ;;
     esac
@@ -7541,8 +7879,12 @@ if test yes != "$_lt_disable_FC"; then
         fi
         ;;
       aix[[4-9]]*)
-	if test ia64 != "$host_cpu" && test no = "$aix_use_runtimelinking"; then
-	  test yes = "$enable_shared" && enable_static=no
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
 	fi
         ;;
     esac
diff --git a/m4/argz.m4 b/m4/ltargz.m4
similarity index 86%
rename from m4/argz.m4
rename to m4/ltargz.m4
index f7bd7c0..0908d90 100644
--- a/m4/argz.m4
+++ b/m4/ltargz.m4
@@ -1,17 +1,15 @@
 # Portability macros for glibc argz.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004-2007, 2011-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2004-2007, 2011-2015 Free Software Foundation, Inc.
 #   Written by Gary V. Vaughan <gary at gnu.org>
 #
 # 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 argz.m4
-
-AC_DEFUN([gl_FUNC_ARGZ],
-[gl_PREREQ_ARGZ
+# serial 1 ltargz.m4
 
+AC_DEFUN([LT_FUNC_ARGZ], [
 AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
 
 AC_CHECK_TYPES([error_t],
@@ -24,9 +22,9 @@ AC_CHECK_TYPES([error_t],
 #  include <argz.h>
 #endif])
 
-ARGZ_H=
+LT_ARGZ_H=
 AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
-	argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
+	argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])])
 
 dnl if have system argz functions, allow forced use of
 dnl libltdl-supplied implementation (and default to do so
@@ -37,7 +35,7 @@ dnl     provides them, yet they are broken, is cygwin
 dnl     releases prior to 16-Mar-2007 (1.5.24 and earlier)
 dnl So, it's more straightforward simply to special case
 dnl this for known bad systems.
-AS_IF([test -z "$ARGZ_H"],
+AS_IF([test -z "$LT_ARGZ_H"],
     [AC_CACHE_CHECK(
         [if argz actually works],
         [lt_cv_sys_argz_works],
@@ -69,11 +67,8 @@ AS_IF([test -z "$ARGZ_H"],
      AS_IF([test yes = "$lt_cv_sys_argz_works"],
         [AC_DEFINE([HAVE_WORKING_ARGZ], 1,
                    [This value is set to 1 to indicate that the system argz facility works])],
-        [ARGZ_H=argz.h
-        AC_LIBOBJ([argz])])])
+        [LT_ARGZ_H=lt__argz.h
+        AC_LIBOBJ([lt__argz])])])
 
-AC_SUBST([ARGZ_H])
+AC_SUBST([LT_ARGZ_H])
 ])
-
-# Prerequisites of lib/argz.c.
-AC_DEFUN([gl_PREREQ_ARGZ], [:])
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index 7f30925..bde587a 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -1,13 +1,13 @@
 # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
 #
-#   Copyright (C) 1999-2008, 2011-2014 Free Software Foundation, Inc.
+#   Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc.
 #   Written by Thomas Tanner, 1999
 #
 # 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 19 LTDL_INIT
+# serial 20 LTDL_INIT
 
 # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
 # ------------------------------------------
@@ -373,7 +373,7 @@ AC_REQUIRE([LT_LIB_DLLOAD])dnl
 AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
 AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
 AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
-AC_REQUIRE([gl_FUNC_ARGZ])dnl
+AC_REQUIRE([LT_FUNC_ARGZ])dnl
 
 m4_require([_LT_CHECK_OBJDIR])dnl
 m4_require([_LT_HEADER_DLFCN])dnl
@@ -569,6 +569,11 @@ if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then
   AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"],
     [Define to the shared library suffix, say, ".dylib".])
 fi
+if test -n "$shared_archive_member_spec"; then
+  m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl
+  AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"],
+    [Define to the shared archive member specification, say "(shr.o)".])
+fi
 ])# LT_SYS_MODULE_EXT
 
 # Old name:
@@ -651,6 +656,7 @@ LT_DLLOADERS=
 AC_SUBST([LT_DLLOADERS])
 
 AC_LANG_PUSH([C])
+lt_dlload_save_LIBS=$LIBS
 
 LIBADD_DLOPEN=
 AC_SEARCH_LIBS([dlopen], [dl],
@@ -706,7 +712,7 @@ darwin[[1567]].*)
 beos*)
   LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
   ;;
-cygwin* | mingw* | os2* | pw32*)
+cygwin* | mingw* | pw32*)
   AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
   LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
   ;;
@@ -734,6 +740,7 @@ dnl This isn't used anymore, but set it for backwards compatibility
 LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
 AC_SUBST([LIBADD_DL])
 
+LIBS=$lt_dlload_save_LIBS
 AC_LANG_POP
 ])# LT_LIB_DLLOAD
 
@@ -791,20 +798,102 @@ dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
 # LT_FUNC_DLSYM_USCORE
 # --------------------
 AC_DEFUN([LT_FUNC_DLSYM_USCORE],
-[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
+[AC_REQUIRE([_LT_COMPILER_PIC])dnl	for lt_prog_compiler_wl
+AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl	for lt_cv_sys_symbol_underscore
+AC_REQUIRE([LT_SYS_MODULE_EXT])dnl	for libltdl_cv_shlibext
 if test yes = "$lt_cv_sys_symbol_underscore"; then
-  if test yes = "$libltdl_cv_func_dlopen" ||
-     test yes = "$libltdl_cv_lib_dl_dlopen"; then
-	AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
-	  [libltdl_cv_need_uscore],
-	  [libltdl_cv_need_uscore=unknown
-          save_LIBS=$LIBS
-          LIBS="$LIBS $LIBADD_DLOPEN"
-	  _LT_TRY_DLOPEN_SELF(
-	    [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
-	    [],				 [libltdl_cv_need_uscore=cross])
-	  LIBS=$save_LIBS
-	])
+  if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then
+    AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
+      [libltdl_cv_need_uscore],
+      [libltdl_cv_need_uscore=unknown
+      dlsym_uscore_save_LIBS=$LIBS
+      LIBS="$LIBS $LIBADD_DLOPEN"
+      libname=conftmod # stay within 8.3 filename limits!
+      cat >$libname.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+/* When -fvisibility=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; }]
+_LT_EOF
+
+      # ltfn_module_cmds module_cmds
+      # Execute tilde-delimited MODULE_CMDS with environment primed for
+      # $module_cmds or $archive_cmds type content.
+      ltfn_module_cmds ()
+      {( # subshell avoids polluting parent global environment
+          module_cmds_save_ifs=$IFS; IFS='~'
+          for cmd in @S|@1; do
+            IFS=$module_cmds_save_ifs
+            libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext
+            rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=.
+            major=; versuffix=; verstring=; deplibs=
+            ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag=
+            eval $cmd
+          done
+          IFS=$module_cmds_save_ifs
+      )}
+
+      # Compile a loadable module using libtool macro expansion results.
+      $CC $pic_flag -c $libname.$ac_ext
+      ltfn_module_cmds "${module_cmds:-$archive_cmds}"
+
+      # Try to fetch fnord with dlsym().
+      libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2
+      cat >conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+#include <stdio.h>
+#ifndef RTLD_GLOBAL
+#  ifdef DL_GLOBAL
+#    define RTLD_GLOBAL DL_GLOBAL
+#  else
+#    define RTLD_GLOBAL 0
+#  endif
+#endif
+#ifndef RTLD_NOW
+#  ifdef DL_NOW
+#    define RTLD_NOW DL_NOW
+#  else
+#    define RTLD_NOW 0
+#  endif
+#endif
+int main () {
+  void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW);
+  int status = $libltdl_dlunknown;
+  if (handle) {
+    if (dlsym (handle, "fnord"))
+      status = $libltdl_dlnouscore;
+    else {
+      if (dlsym (handle, "_fnord"))
+        status = $libltdl_dluscore;
+      else
+	puts (dlerror ());
+    }
+    dlclose (handle);
+  } 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
+        libltdl_status=$?
+        case x$libltdl_status in
+          x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;;
+	  x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;;
+	  x*) libltdl_cv_need_uscore=unknown ;;
+        esac
+      fi
+      rm -rf conftest* $libname*
+      LIBS=$dlsym_uscore_save_LIBS
+    ])
   fi
 fi
 
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index de6520e..94b0829 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,6 +1,6 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004-2005, 2007-2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Gary V. Vaughan, 2004
 #
@@ -82,6 +82,8 @@ m4_if([$1],[LT_INIT],[
   _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_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+		   [_LT_WITH_AIX_SONAME([aix])])
   ])
 ])# _LT_SET_OPTIONS
 
@@ -319,6 +321,59 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 
 
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
 # _LT_WITH_PIC([MODE])
 # --------------------
 # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index da4ac6b..48bc934 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,6 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004-2005, 2007-2008, 2011-2014 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
 # Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 3535ff4..fa04b52 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,6 @@
 # ltversion.m4 -- version numbers			-*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2011-2014 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
 
 # @configure_input@
 
-# serial 4105 ltversion.m4
+# serial 4179 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.4.2.458.26-92994])
-m4_define([LT_PACKAGE_REVISION], [2.4.3])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2.458.26-92994'
-macro_revision='2.4.3'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index 6975098..c6b26f8 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,6 +1,6 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004-2005, 2007, 2009, 2011-2014 Free Software
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
 #   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-astro/packages/cpl.git



More information about the Debian-astro-commits mailing list