devinamatthews / aquarius

Aquarius is a parallel quantum chemistry package built on the Cyclops Tensor Framework which provides high-performance structured tensor operations. Aquarius is primarily focused on iterative methods such as CC, CI, and EOMCC.
BSD 3-Clause "New" or "Revised" License
27 stars 11 forks source link

add latest Fortran MPI library name #16

Closed jeffhammond closed 7 years ago

jeffhammond commented 7 years ago

Both MPICH and Open-MPI have converged on libmpifort as the Fortran library name...

$ mpifort -show
ifort -g -Wl,-flat_namespace -Wl,-commons,use_dylibs -I/opt/mpich/dev/intel/default/include \
-I/opt/mpich/dev/intel/default/include -L/opt/mpich/dev/intel/default/lib \
-lmpifort -lmpi -lpmpi
devinamatthews commented 7 years ago

Can you run autoreconf -i and commit the result? If not I will do it.

jeffhammond commented 7 years ago

I'll let you do that. I have a principled objection to committing derived files like configure to version control. I know it is expedient but my friends on the MPICH team will lose respect for me if I do it.

devinamatthews commented 7 years ago

Making people install (a compatible version of!) autotools is better?

On 11/11/16 1:27 PM, Jeff Hammond wrote:

I'll let you do that. I have a principled objection to committing derived files like |configure| to version control. I know it is expedient but my friends on the MPICH team will lose respect for me if I do it.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/devinamatthews/aquarius/pull/16#issuecomment-260035867, or mute the thread https://github.com/notifications/unsubscribe-auth/AFAMochIO0kFJ6t2Pfu3a650_R1aRp6_ks5q9MGfgaJpZM4KwDBi.

jeffhammond commented 7 years ago

MPICH supports two models:

  1. Use the Git repo and generate configure with Autotools, which may require the user to install a compatible version of Autotools (hence why I have https://github.com/jeffhammond/HPCInfo/wiki/Autotools).
  2. Download release tarballs, which contain the generated build system files and thus do not require the user to have Autotools.

User complaints about 1 result in encouragement to try 2...

jeffhammond commented 7 years ago

Awesome git diff outputs like the following are why adding build system code to version control is considered a bad practice...

diff --git a/compile b/compile
index 531136b..a85b723 100755
--- a/compile
+++ b/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@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/config.guess b/config.guess
index c6fad2f..6c32c86 100755
--- a/config.guess
+++ b/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-06-10'
+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-06-10'
 # 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@gnu.org.
+# Please send patches to <config-patches@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,20 +149,10 @@ 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

-case "${UNAME_MACHINE}" in
-  i?86)
-     test -z "$VENDOR" && VENDOR=pc
-     ;;
-  *)
-     test -z "$VENDOR" && VENDOR=unknown
-     ;;
-esac
-test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
-
 # Note: order is significant - the case branches are not exclusive.

 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -227,23 +217,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    exit ;;
     *:Bitrig:*:*)
    UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-   echo ${UNAME_MACHINE_ARCH}-${VENDOR}-bitrig${UNAME_RELEASE}
+   echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
    exit ;;
     *:OpenBSD:*:*)
    UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-   echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
+   echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
    exit ;;
     *:ekkoBSD:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
+   echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
    exit ;;
     *:SolidBSD:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
+   echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
    exit ;;
     macppc:MirBSD:*:*)
-   echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
+   echo powerpc-unknown-mirbsd${UNAME_RELEASE}
    exit ;;
     *:MirBSD:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
+   echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
    exit ;;
     alpha:OSF1:*:*)
    case $UNAME_RELEASE in
@@ -311,13 +301,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    echo alpha-dec-winnt3.5
    exit ;;
     Amiga*:UNIX_System_V:4.0:*)
-   echo m68k-${VENDOR}-sysv4
+   echo m68k-unknown-sysv4
    exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-amigaos
+   echo ${UNAME_MACHINE}-unknown-amigaos
    exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-morphos
+   echo ${UNAME_MACHINE}-unknown-morphos
    exit ;;
     *:OS/390:*:*)
    echo i370-ibm-openedition
@@ -332,7 +322,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    echo arm-acorn-riscix${UNAME_RELEASE}
    exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
-   echo arm-${VENDOR}-riscos
+   echo arm-unknown-riscos
    exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
    echo hppa1.1-hitachi-hiuxmpp
@@ -440,7 +430,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    echo m68k-hades-mint${UNAME_RELEASE}
    exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-   echo m68k-${VENDOR}-mint${UNAME_RELEASE}
+   echo m68k-unknown-mint${UNAME_RELEASE}
    exit ;;
     m68k:machten:*:*)
    echo m68k-apple-machten${UNAME_RELEASE}
@@ -589,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
@@ -751,9 +742,9 @@ EOF
    exit ;;
     i*86:OSF1:*:*)
    if [ -x /usr/sbin/sysversion ] ; then
-       echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
+       echo ${UNAME_MACHINE}-unknown-osf1mk
    else
-       echo ${UNAME_MACHINE}-${VENDOR}-osf1
+       echo ${UNAME_MACHINE}-unknown-osf1
    fi
    exit ;;
     parisc*:Lites*:*:*)
@@ -813,18 +804,18 @@ EOF
    echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
    exit ;;
     sparc*:BSD/OS:*:*)
-   echo sparc-${VENDOR}-bsdi${UNAME_RELEASE}
+   echo sparc-unknown-bsdi${UNAME_RELEASE}
    exit ;;
     *:BSD/OS:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE}
+   echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
    exit ;;
     *:FreeBSD:*:*)
    UNAME_PROCESSOR=`/usr/bin/uname -p`
    case ${UNAME_PROCESSOR} in
        amd64)
-       echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
        *)
-       echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
    esac
    exit ;;
     i*:CYGWIN*:*)
@@ -836,7 +827,7 @@ EOF
     *:MINGW*:*)
    echo ${UNAME_MACHINE}-pc-mingw32
    exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
    echo ${UNAME_MACHINE}-pc-msys
    exit ;;
     i*:windows32*:*)
@@ -852,10 +843,10 @@ EOF
        echo i586-pc-interix${UNAME_RELEASE}
        exit ;;
        authenticamd | genuineintel | EM64T)
-       echo x86_64-${VENDOR}-interix${UNAME_RELEASE}
+       echo x86_64-unknown-interix${UNAME_RELEASE}
        exit ;;
        IA64)
-       echo ia64-${VENDOR}-interix${UNAME_RELEASE}
+       echo ia64-unknown-interix${UNAME_RELEASE}
        exit ;;
    esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
@@ -874,31 +865,31 @@ EOF
    echo ${UNAME_MACHINE}-pc-uwin
    exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-   echo x86_64-${VENDOR}-cygwin
+   echo x86_64-unknown-cygwin
    exit ;;
     p*:CYGWIN*:*)
-   echo powerpcle-${VENDOR}-cygwin
+   echo powerpcle-unknown-cygwin
    exit ;;
     prep*:SunOS:5.*:*)
-   echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    exit ;;
     *:GNU:*:*)
    # the GNU system
-   echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+   echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
    exit ;;
     *:GNU/*:*:*)
    # other systems with GNU libc and userland
-   echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
    exit ;;
     i*86:Minix:*:*)
    echo ${UNAME_MACHINE}-pc-minix
    exit ;;
     aarch64:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     aarch64_be:Linux:*:*)
    UNAME_MACHINE=aarch64_be
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     alpha:Linux:*:*)
    case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -912,29 +903,29 @@ EOF
    esac
    objdump --private-headers /bin/sh | grep -q ld.so.1
    if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     arm*:Linux:*:*)
    eval $set_cc_for_build
    if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
        | grep -q __ARM_EABI__
    then
-       echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    else
        if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
        | grep -q __ARM_PCS_VFP
        then
-       echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}eabi
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
        else
-       echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}eabihf
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
        fi
    fi
    exit ;;
     avr32*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     cris:Linux:*:*)
    echo ${UNAME_MACHINE}-axis-linux-${LIBC}
@@ -943,22 +934,22 @@ EOF
    echo ${UNAME_MACHINE}-axis-linux-${LIBC}
    exit ;;
     frv:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     hexagon:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     i*86:Linux:*:*)
    echo ${UNAME_MACHINE}-pc-linux-${LIBC}
    exit ;;
     ia64:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     m32r*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     m68*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
    eval $set_cc_for_build
@@ -977,63 +968,63 @@ EOF
    #endif
 EOF
    eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-   test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-${LIBC}"; exit; }
+   test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
    ;;
-    or1k:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+    openrisc*:Linux:*:*)
+   echo or1k-unknown-linux-${LIBC}
    exit ;;
-    or32:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+    or32:Linux:*:* | or1k*:Linux:*:*)
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     padre:Linux:*:*)
-   echo sparc-${VENDOR}-linux-${LIBC}
+   echo sparc-unknown-linux-${LIBC}
    exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-   echo hppa64-${VENDOR}-linux-${LIBC}
+   echo hppa64-unknown-linux-${LIBC}
    exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
    # Look for CPU level
    case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-     PA7*) echo hppa1.1-${VENDOR}-linux-${LIBC} ;;
-     PA8*) echo hppa2.0-${VENDOR}-linux-${LIBC} ;;
-     *)    echo hppa-${VENDOR}-linux-${LIBC} ;;
+     PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+     PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+     *)    echo hppa-unknown-linux-${LIBC} ;;
    esac
    exit ;;
     ppc64:Linux:*:*)
-   echo powerpc64-${VENDOR}-linux-${LIBC}
+   echo powerpc64-unknown-linux-${LIBC}
    exit ;;
     ppc:Linux:*:*)
-   echo powerpc-${VENDOR}-linux-${LIBC}
+   echo powerpc-unknown-linux-${LIBC}
    exit ;;
     ppc64le:Linux:*:*)
-   echo powerpc64le-${VENDOR}-linux-${LIBC}
+   echo powerpc64le-unknown-linux-${LIBC}
    exit ;;
     ppcle:Linux:*:*)
-   echo powerpcle-${VENDOR}-linux-${LIBC}
+   echo powerpcle-unknown-linux-${LIBC}
    exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
    echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
    exit ;;
     sh64*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     sh*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     tile*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     vax:Linux:*:*)
    echo ${UNAME_MACHINE}-dec-linux-${LIBC}
    exit ;;
     x86_64:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     xtensa*:Linux:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}
+   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    exit ;;
     i*86:DYNIX/ptx:4*:*)
    # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1055,16 +1046,16 @@ EOF
    echo ${UNAME_MACHINE}-pc-os2-emx
    exit ;;
     i*86:XTS-300:*:STOP)
-   echo ${UNAME_MACHINE}-${VENDOR}-stop
+   echo ${UNAME_MACHINE}-unknown-stop
    exit ;;
     i*86:atheos:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-atheos
+   echo ${UNAME_MACHINE}-unknown-atheos
    exit ;;
     i*86:syllable:*:*)
    echo ${UNAME_MACHINE}-pc-syllable
    exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-   echo i386-${VENODR}-lynxos${UNAME_RELEASE}
+   echo i386-unknown-lynxos${UNAME_RELEASE}
    exit ;;
     i*86:*DOS:*:*)
    echo ${UNAME_MACHINE}-pc-msdosdjgpp
@@ -1084,7 +1075,7 @@ EOF
        *Pentium)        UNAME_MACHINE=i586 ;;
        *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
    esac
-   echo ${UNAME_MACHINE}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+   echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
    exit ;;
     i*86:*:3.2:*)
    if test -f /usr/options/cb.name; then
@@ -1123,7 +1114,7 @@ EOF
    if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
      echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
    else # Add other i860-SVR4 vendors below as they are discovered.
-     echo i860-${VENODR}-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+     echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
    fi
    exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1160,19 +1151,19 @@ EOF
    /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
        && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-   echo m68k-${VENDOR}-lynxos${UNAME_RELEASE}
+   echo m68k-unknown-lynxos${UNAME_RELEASE}
    exit ;;
     mc68030:UNIX_System_V:4.*:*)
    echo m68k-atari-sysv4
    exit ;;
     TSUNAMI:LynxOS:2.*:*)
-   echo sparc-${VENDOR}-lynxos${UNAME_RELEASE}
+   echo sparc-unknown-lynxos${UNAME_RELEASE}
    exit ;;
     rs6000:LynxOS:2.*:*)
-   echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE}
+   echo rs6000-unknown-lynxos${UNAME_RELEASE}
    exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-   echo powerpc-${VENDOR}-lynxos${UNAME_RELEASE}
+   echo powerpc-unknown-lynxos${UNAME_RELEASE}
    exit ;;
     SM[BE]S:UNIX_SV:*:*)
    echo mips-dde-sysv${UNAME_RELEASE}
@@ -1222,7 +1213,7 @@ EOF
    if [ -d /usr/nec ]; then
        echo mips-nec-sysv${UNAME_RELEASE}
    else
-       echo mips-${VENDOR}-sysv${UNAME_RELEASE}
+       echo mips-unknown-sysv${UNAME_RELEASE}
    fi
    exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
@@ -1238,7 +1229,7 @@ EOF
    echo i586-pc-haiku
    exit ;;
     x86_64:Haiku:*:*)
-   echo x86_64-${VENDOR}-haiku
+   echo x86_64-unknown-haiku
    exit ;;
     SX-4:SUPER-UX:*:*)
    echo sx4-nec-superux${UNAME_RELEASE}
@@ -1270,16 +1261,26 @@ EOF
    if test "$UNAME_PROCESSOR" = unknown ; then
        UNAME_PROCESSOR=powerpc
    fi
-   if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-       if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-       grep IS_64BIT_ARCH >/dev/null
-       then
-       case $UNAME_PROCESSOR in
-           i386) UNAME_PROCESSOR=x86_64 ;;
-           powerpc) UNAME_PROCESSOR=powerpc64 ;;
-       esac
+   if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+       if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+           (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+           grep IS_64BIT_ARCH >/dev/null
+       then
+           case $UNAME_PROCESSOR in
+           i386) UNAME_PROCESSOR=x86_64 ;;
+           powerpc) UNAME_PROCESSOR=powerpc64 ;;
+           esac
+       fi
        fi
+   elif test "$UNAME_PROCESSOR" = i386 ; then
+       # Avoid executing cc on OS X 10.9, as it ships with a stub
+       # that puts up a graphical alert prompting to install
+       # developer tools.  Any system running Mac OS X 10.7 or
+       # later (Darwin 11 and later) is required to have a 64-bit
+       # processor. This is not true of the ARM version of Darwin
+       # that Apple uses in portable devices.
+       UNAME_PROCESSOR=x86_64
    fi
    echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
    exit ;;
@@ -1321,13 +1322,13 @@ EOF
    else
        UNAME_MACHINE="$cputype"
    fi
-   echo ${UNAME_MACHINE}-${VENDOR}-plan9
+   echo ${UNAME_MACHINE}-unknown-plan9
    exit ;;
     *:TOPS-10:*:*)
-   echo pdp10-${VENDOR}-tops10
+   echo pdp10-unknown-tops10
    exit ;;
     *:TENEX:*:*)
-   echo pdp10-${VENDOR}-tenex
+   echo pdp10-unknown-tenex
    exit ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
    echo pdp10-dec-tops20
@@ -1336,16 +1337,16 @@ EOF
    echo pdp10-xkl-tops20
    exit ;;
     *:TOPS-20:*:*)
-   echo pdp10-${VENDOR}-tops20
+   echo pdp10-unknown-tops20
    exit ;;
     *:ITS:*:*)
-   echo pdp10-${VENDOR}-its
+   echo pdp10-unknown-its
    exit ;;
     SEI:*:*:SEIUX)
    echo mips-sei-seiux${UNAME_RELEASE}
    exit ;;
     *:DragonFly:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+   echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
    exit ;;
     *:*VMS:*:*)
    UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1367,158 +1368,10 @@ EOF
    echo ${UNAME_MACHINE}-pc-aros
    exit ;;
     x86_64:VMkernel:*:*)
-   echo ${UNAME_MACHINE}-${VENDOR}-esx
+   echo ${UNAME_MACHINE}-unknown-esx
    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/config.sub b/config.sub
index 8b612ab..7ffe373 100755
--- a/config.sub
+++ b/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-04-24'
+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-04-24'
 # of the GNU General Public License, version 3 ("GPLv3").

-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@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."
@@ -257,7 +257,7 @@ case $basic_machine in
    | avr | avr32 \
    | be32 | be64 \
    | bfin \
-   | c4x | clipper \
+   | c4x | c8051 | clipper \
    | d10v | d30v | dlx | dsp16xx \
    | epiphany \
    | fido | fr30 | frv \
@@ -265,6 +265,7 @@ case $basic_machine in
    | hexagon \
    | i370 | i860 | i960 | ia64 \
    | ip2k | iq2000 \
+   | k1om \
    | le32 | le64 \
    | lm32 \
    | m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,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 \
@@ -295,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 \
@@ -310,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)
@@ -324,7 +328,10 @@ case $basic_machine in
    c6x)
        basic_machine=tic6x-unknown
        ;;
-   m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+   leon|leon[3-9])
+       basic_machine=sparc-$basic_machine
+       ;;
+   m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
        basic_machine=$basic_machine-unknown
        os=-none
        ;;
@@ -372,7 +379,7 @@ case $basic_machine in
    | be32-* | be64-* \
    | bfin-* | bs2000-* \
    | c[123]* | c30-* | [cjt]90-* | c4x-* \
-   | clipper-* | craynv-* | cydra-* \
+   | c8051-* | clipper-* | craynv-* | cydra-* \
    | d10v-* | d30v-* | dlx-* \
    | elxsi-* \
    | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -381,6 +388,7 @@ case $basic_machine in
    | hexagon-* \
    | i*86-* | i860-* | i960-* | ia64-* \
    | ip2k-* | iq2000-* \
+   | k1om-* \
    | le32-* | le64-* \
    | lm32-* \
    | m32c-* | m32r-* | m32rle-* \
@@ -400,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-* \
@@ -413,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-* \
@@ -430,6 +441,7 @@ case $basic_machine in
    | ubicom32-* \
    | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
    | vax-* \
+   | visium-* \
    | we32k-* \
    | x86-* | x86_64-* | xc16x-* | xps100-* \
    | xstormy16-* | xtensa*-* \
@@ -767,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
@@ -794,7 +809,7 @@ case $basic_machine in
        os=-mingw64
        ;;
    mingw32)
-       basic_machine=i386-pc
+       basic_machine=i686-pc
        os=-mingw32
        ;;
    mingw32ce)
@@ -822,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
@@ -830,7 +849,7 @@ case $basic_machine in
        basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
        ;;
    msys)
-       basic_machine=i386-pc
+       basic_machine=i686-pc
        os=-msys
        ;;
    mvs)
@@ -1367,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*)
@@ -1546,6 +1565,9 @@ case $basic_machine in
    c4x-* | tic4x-*)
        os=-coff
        ;;
+   c8051-*)
+       os=-elf
+       ;;
    hexagon-*)
        os=-elf
        ;;
@@ -1589,9 +1611,6 @@ case $basic_machine in
    mips*-*)
        os=-elf
        ;;
-   or1k-*)
-       os=-elf
-       ;;
    or32-*)
        os=-coff
        ;;
diff --git a/configure b/configure
index 1056a6f..5914596 100755
--- a/configure
+++ b/configure
@@ -3580,7 +3580,7 @@ ac_compiler_gnu=$ac_cv_f77_compiler_gnu
     # We do not use AC_SEARCH_LIBS here, as it caches its outcome and
     # thus disallows corresponding calls in the other AX_PROG_*_MPI
     # macros.
-    for lib in NONE fmpi fmpich; do
+    for lib in NONE mpifort fmpi fmpich; do
       save_LIBS=$LIBS
       if test x"$lib" = xNONE; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for function MPI_INIT" >&5
diff --git a/depcomp b/depcomp
index 4ebd5b3..fc98710 100755
--- a/depcomp
+++ b/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/external/marray/test-driver b/external/marray/test-driver
index 4616ec8..8e575b0 100755
--- a/external/marray/test-driver
+++ b/external/marray/test-driver
@@ -104,7 +104,6 @@ trap "st=141; $do_exit" 13
 trap "st=143; $do_exit" 15

 # Test script is run here.
-"$@"
 "$@" >$log_file 2>&1
 estatus=$?

diff --git a/install-sh b/install-sh
index 377bb86..0b0fdcb 100755
--- a/install-sh
+++ b/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/missing b/missing
index cdea514..f62bbae 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.

-scriptversion=2012-06-26.16; # UTC
+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@iro.umontreal.ca>, 1996.

 # This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@ give_advice ()
       ;;
    autom4te*)
       echo "You might have modified some maintainer files that require"
-      echo "the 'automa4te' program to be rebuilt."
+      echo "the 'autom4te' program to be rebuilt."
       program_details 'autom4te'
       ;;
     bison*|yacc*)