diff -Nru clustalo-1.2.3/ChangeLog clustalo-1.2.4/ChangeLog --- clustalo-1.2.3/ChangeLog 2016-07-20 13:31:05.000000000 +0000 +++ clustalo-1.2.4/ChangeLog 2016-12-21 15:00:20.000000000 +0000 @@ -1,3 +1,9 @@ +2016-12-20 Release 1.2.4 (AndreaGiacomo, r317) + + - made code gcc-6 compliant + + (no new command-line flags) + 2016-07-20 Release 1.2.3 (AndreaGiacomo, r313) - fixed consensus line in ClustalW format, 'H' in NHQK not recognised as strong (bug in Squid) diff -Nru clustalo-1.2.3/configure clustalo-1.2.4/configure --- clustalo-1.2.3/configure 2016-07-20 13:35:39.000000000 +0000 +++ clustalo-1.2.4/configure 2016-12-16 17:47:17.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for Clustal Omega 1.2.3. +# Generated by GNU Autoconf 2.63 for Clustal Omega 1.2.4. # # Report bugs to . # @@ -745,8 +745,8 @@ # Identity of this package. PACKAGE_NAME='Clustal Omega' PACKAGE_TARNAME='clustal-omega' -PACKAGE_VERSION='1.2.3' -PACKAGE_STRING='Clustal Omega 1.2.3' +PACKAGE_VERSION='1.2.4' +PACKAGE_STRING='Clustal Omega 1.2.4' PACKAGE_BUGREPORT='clustalw@ucd.ie' # Factoring default headers for most tests. @@ -1483,7 +1483,7 @@ # 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 Clustal Omega 1.2.3 to adapt to many kinds of systems. +\`configure' configures Clustal Omega 1.2.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1553,7 +1553,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Clustal Omega 1.2.3:";; + short | recursive ) echo "Configuration of Clustal Omega 1.2.4:";; esac cat <<\_ACEOF @@ -1659,7 +1659,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Clustal Omega configure 1.2.3 +Clustal Omega configure 1.2.4 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1673,7 +1673,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Clustal Omega $as_me 1.2.3, which was +It was created by Clustal Omega $as_me 1.2.4, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2492,7 +2492,7 @@ # Define the identity of the package. PACKAGE='clustal-omega' - VERSION='1.2.3' + VERSION='1.2.4' cat >>confdefs.h <<_ACEOF @@ -21790,7 +21790,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Clustal Omega $as_me 1.2.3, which was +This file was extended by Clustal Omega $as_me 1.2.4, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21853,7 +21853,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -Clustal Omega config.status 1.2.3 +Clustal Omega config.status 1.2.4 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff -Nru clustalo-1.2.3/configure.ac clustalo-1.2.4/configure.ac --- clustalo-1.2.3/configure.ac 2016-07-20 13:30:29.000000000 +0000 +++ clustalo-1.2.4/configure.ac 2016-12-16 17:46:39.000000000 +0000 @@ -1,6 +1,6 @@ # configure.ac for Clustal Omega # -# RCS $Id: configure.ac 313 2016-07-20 13:30:29Z fabian $ +# RCS $Id: configure.ac 317 2016-12-16 17:44:50Z fabian $ # release @@ -32,7 +32,10 @@ #AC_INIT([Clustal Omega], [1.2.2], [clustalw@ucd.ie]) #PACKAGE_CODENAME="AndreaGiacomo" # r313 -AC_INIT([Clustal Omega], [1.2.3], [clustalw@ucd.ie]) +#AC_INIT([Clustal Omega], [1.2.3], [clustalw@ucd.ie]) +#PACKAGE_CODENAME="AndreaGiacomo" +# r317 +AC_INIT([Clustal Omega], [1.2.4], [clustalw@ucd.ie]) PACKAGE_CODENAME="AndreaGiacomo" # The AC_INIT macro can take any source file as an argument. It just diff -Nru clustalo-1.2.3/debian/changelog clustalo-1.2.4/debian/changelog --- clustalo-1.2.3/debian/changelog 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/changelog 2016-12-21 20:06:08.000000000 +0000 @@ -1,3 +1,11 @@ +clustalo (1.2.4-1) unstable; urgency=medium + + * New upstream version + * d/watch: version=4 + * debhelper 10 + + -- Andreas Tille Wed, 21 Dec 2016 21:06:08 +0100 + clustalo (1.2.3-1) unstable; urgency=medium * New upstream version diff -Nru clustalo-1.2.3/debian/compat clustalo-1.2.4/debian/compat --- clustalo-1.2.3/debian/compat 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/compat 2016-12-21 20:06:08.000000000 +0000 @@ -1 +1 @@ -9 +10 diff -Nru clustalo-1.2.3/debian/control clustalo-1.2.4/debian/control --- clustalo-1.2.3/debian/control 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/control 2016-12-21 20:06:08.000000000 +0000 @@ -4,7 +4,7 @@ Andreas Tille Section: science Priority: optional -Build-Depends: debhelper (>= 9), +Build-Depends: debhelper (>= 10), dh-autoreconf, dh-linktree, libargtable2-dev, diff -Nru clustalo-1.2.3/debian/patches/log2.patch clustalo-1.2.4/debian/patches/log2.patch --- clustalo-1.2.3/debian/patches/log2.patch 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/patches/log2.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -Author: Andreas Tille -Last-Update: Tue, 30 Aug 2016 08:25:06 +0200 -Bug-Debian: https://bugs.debian.org/835074 -Description: Deal with duplicate definition of log2 - Remark: Even after including config.h - #ifndef CLUSTAL_OMEGA_HAVE_LOG2 - worked in src/hhalign/util-C.h - no idea why. So the definitions - were simply turned into comments. - ---- a/src/hhalign/util-C.h -+++ b/src/hhalign/util-C.h -@@ -51,8 +51,10 @@ inline int iround(double x) {return int( - inline double fmean(double x, double y, double d) { return pow( (pow(x,d)+pow(y,d))/2 ,1./d);} - - // log base 2 -+/* - inline float log2(float x) {return (x<=0? (float)(-100000):1.442695041*log(x));} - inline float log10(float x) {return (x<=0? (float)(-100000):0.434294481*log(x));} -+*/ - - - ///////////////////////////////////////////////////////////////////////////////////// ---- a/src/clustal/mbed.c -+++ b/src/clustal/mbed.c -@@ -88,7 +88,7 @@ static const int RESTARTS_PER_SPLIT = 10 - #define USE_KMEANS_LLOYDS 0 - - --#ifndef HAVE_LOG2 -+#ifndef CLUSTAL_OMEGA_HAVE_LOG2 - #define log2(x) (log(x) / 0.69314718055994530942) - #endif - #define NUMBER_OF_SEEDS(n) pow(log2(((double)n)), 2) diff -Nru clustalo-1.2.3/debian/patches/series clustalo-1.2.4/debian/patches/series --- clustalo-1.2.3/debian/patches/series 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -log2.patch diff -Nru clustalo-1.2.3/debian/watch clustalo-1.2.4/debian/watch --- clustalo-1.2.3/debian/watch 2016-08-30 07:46:54.000000000 +0000 +++ clustalo-1.2.4/debian/watch 2016-12-21 20:06:08.000000000 +0000 @@ -1,5 +1,4 @@ -# Compulsory line, this is a version 3 file -version=3 +version=4 http://www.clustal.org/omega/clustal-omega-(.*)\.tar\.gz diff -Nru clustalo-1.2.3/depcomp clustalo-1.2.4/depcomp --- clustalo-1.2.3/depcomp 2010-05-26 12:33:46.000000000 +0000 +++ clustalo-1.2.4/depcomp 2016-12-16 17:46:39.000000000 +0000 @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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 @@ -28,9 +27,9 @@ case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -40,11 +39,11 @@ Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -57,6 +56,66 @@ ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -69,6 +128,9 @@ rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -80,18 +142,32 @@ fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -114,8 +190,7 @@ done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -123,13 +198,17 @@ ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then @@ -137,31 +216,31 @@ fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. + # The second -e expression handles DOS-style file names with drive + # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -179,8 +258,7 @@ "$@" -MDupdate "$tmpdepfile" fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -188,43 +266,41 @@ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the + # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" ;; +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -237,9 +313,7 @@ "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -248,44 +322,100 @@ do test -f "$tmpdepfile" && break done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -297,8 +427,8 @@ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -309,9 +439,8 @@ # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -322,8 +451,7 @@ "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -333,77 +461,107 @@ test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; #nosideeffect) # This comment above is used by automake to tell side-effect @@ -422,7 +580,7 @@ shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -442,18 +600,18 @@ done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -503,12 +661,15 @@ touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -525,7 +686,7 @@ shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -544,10 +705,10 @@ esac done - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -579,23 +740,23 @@ shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff -Nru clustalo-1.2.3/Doxyfile clustalo-1.2.4/Doxyfile --- clustalo-1.2.3/Doxyfile 2016-07-20 13:38:27.000000000 +0000 +++ clustalo-1.2.4/Doxyfile 2016-12-20 16:36:33.000000000 +0000 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.2.3 +PROJECT_NUMBER = 1.2.4 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff -Nru clustalo-1.2.3/INSTALL clustalo-1.2.4/INSTALL --- clustalo-1.2.3/INSTALL 2016-06-13 14:38:09.000000000 +0000 +++ clustalo-1.2.4/INSTALL 2016-12-16 17:46:39.000000000 +0000 @@ -1,43 +1,8 @@ -The impatient can try: - -$ ./configure -$ make -$ make install - - -Clustal-Omega needs argtable2 (http://argtable.sourceforge.net/). If -argtable2 is installed in a non-standard directory you might have to -point configure to its installation directory. For example, if you are -on a Mac and have argtable installed via MacPorts then you should use -the following command line: - -$ ./configure CFLAGS='-I/opt/local/include' LDFLAGS='-L/opt/local/lib' - -ClustalO will automatically support multi-threading if your compiler -supports OpenMP. For some reason automake's OpenMP detection for -Apple's gcc is broken. You can force OpenMP detection by calling configure -like so: - -$ ./configure OPENMP_CFLAGS='-fopenmp' CFLAGS='-DHAVE_OPENMP' - -You could use a non-Apple gcc installed via MacPorts, adding - -CC=/opt/local/bin/gcc-mp-4.5 - -to the configure call (you will have to change the exact string to match -your gcc version). - -See below for generic installation instructions: - ----------------------------------------------------------------------- - - - Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, +Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -47,8 +12,8 @@ Basic Installation ================== - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following + Briefly, the shell command `./configure && make && make install' +should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented @@ -261,6 +226,11 @@ and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended @@ -282,70 +252,6 @@ ./configure --prefix=/boot/common - - On Windows do - - 1. Preparation - - 1.1. Install free MinGW64 on Windows 7. Download - mingw-w64-bin_x86_64-mingw_20111101_sezero.zip from - http://sourceforge.net/projects/mingw-w64/files/Toolchains - targetting Win64/Personal Builds/sezero_4.5_20111101/, extract - it, move mingw64 folder to C:\ and rename it to mingw. MinGW64 - provides tools to develop 64-bit Windows applications using - gcc and g++. With MinGW64, some software developed for Linux - platform can be built on Windows. - - 1.2. There is a file named pthreads-w64.zip in C:\mingw - folder. Extract it under C:\mingw folder. - - 1.3. Download MSYS-1.0.11.exe from - http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/ - and install it. - - 1.4. Download Clustal Omega source from - http://www.clustal.org/omega/clustal-omega-x.x.x.tar.gz (where - x.x.x is the current version) - - 1.5. Copy downloaded file to MSYS. If you installed MSYS in - C:\msys and your account is Administrator, copy it to - C:\msys\1.0\home\Administrator. You can do it using Windows - explorer. - - 1.6. Download argtable2-13.tar.gz from - http://argtable.sourceforge.net/ and copy it to MSYS. This is - required by Clustal Omega. - - 2. Configuration and Build process - - 2.1. Launch MSYS and extract argtable2 source as tar xfz - argtable2-13.tar.gz. - - 2.2. Extract Clustal Omega source as tar xfz - clustal-omega-1.2.0.tar.gz. - - 2.3. cd argtable2-13; ./configure; make; make install - - 2.4. cd ~/clustal-omega-1.2.0 - - 2.5. ./configure CFLAGS='-I/usr/local/include - -DSRE_STRICT_ANSI' LDFLAGS='-L/usr/local/lib' - - 2.6. make; make install - - 2.7. You can find clustalo.exe in /usr/local/bin folder which - is C:\msys\1.0\local/bin. - - 2.8. Following DLLs are necessary to run clustalo.exe. Put - them in the same folder where clustalo.exe - exists. C:\mingw\bin\libcc_sjlj-1.dll, - C:\mingw\bin\libgomp-1.dll, C:\mingw\bin\libstdc++-6.dll, - C:\mingw\bin\pthreadGC2-w64.dll - - (lifted from - http://www.blaststation.com/freestuff/en/howtoBuildx64ClustalO.php, - as of 2014-10-14) - Specifying the System Type ========================== @@ -403,9 +309,10 @@ overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: +an Autoconf limitation. Until the limitation is lifted, you can use +this workaround: - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== @@ -461,4 +368,3 @@ `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. - diff -Nru clustalo-1.2.3/install-sh clustalo-1.2.4/install-sh --- clustalo-1.2.3/install-sh 2010-05-26 12:33:46.000000000 +0000 +++ clustalo-1.2.4/install-sh 2016-12-16 17:46:39.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -35,25 +35,21 @@ # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. +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 @@ 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 @@ dst_arg= copy_on_change=false -no_target_directory= +is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE @@ -137,42 +122,57 @@ -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 - 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. @@ -186,6 +186,10 @@ fi shift # arg dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -194,13 +198,26 @@ echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + 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 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -211,16 +228,16 @@ *[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 @@ -228,9 +245,9 @@ for src do - # Protect names starting with `-'. + # Protect names problematic for 'test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,51 +269,20 @@ echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 + 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 @@ -307,74 +293,81 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # 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. + ;; + *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/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. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 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 @@ -384,53 +377,51 @@ # 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 -z "$d" && continue + 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/ + 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 @@ -465,15 +456,12 @@ # 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 @@ -486,24 +474,24 @@ # 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 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 rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff -Nru clustalo-1.2.3/missing clustalo-1.2.4/missing --- clustalo-1.2.3/missing 2010-05-26 12:33:46.000000000 +0000 +++ clustalo-1.2.4/missing 2016-12-16 17:46:39.000000000 +0000 @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,69 +25,40 @@ # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to ." exit $? @@ -100,272 +70,141 @@ ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; +# Run the given program, remember its exit status. +"$@"; st=$? - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; +# If it succeeded, we are done. +test $st -eq 0 && exit 0 - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -Nru clustalo-1.2.3/src/clustal/mbed.c clustalo-1.2.4/src/clustal/mbed.c --- clustalo-1.2.3/src/clustal/mbed.c 2016-06-13 13:29:58.000000000 +0000 +++ clustalo-1.2.4/src/clustal/mbed.c 2016-12-16 16:20:49.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: mbed.c 300 2016-06-13 13:29:58Z fabian $ + * RCS $Id: mbed.c 316 2016-12-16 16:14:39Z fabian $ * * * Reimplementation from scratch of mBed (Blackshields et al., 2010; @@ -88,8 +88,10 @@ #define USE_KMEANS_LLOYDS 0 -#ifndef HAVE_LOG2 -#define log2(x) (log(x) / 0.69314718055994530942) +//#ifndef HAVE_LOG2 +#ifndef CLUSTAL_OMEGA_HAVE_LOG2 +//#define log2(x) (log(x) / 0.69314718055994530942) +#define log2(x) ( x<=0 ? (float)(-100000) : 1.442695041*log(x) ) #endif #define NUMBER_OF_SEEDS(n) pow(log2(((double)n)), 2) diff -Nru clustalo-1.2.3/src/clustal-omega-config.h clustalo-1.2.4/src/clustal-omega-config.h --- clustalo-1.2.3/src/clustal-omega-config.h 2016-07-20 13:38:33.000000000 +0000 +++ clustalo-1.2.4/src/clustal-omega-config.h 2016-12-16 17:47:26.000000000 +0000 @@ -228,7 +228,7 @@ /* Define to the full name and version of this package. */ #ifndef CLUSTAL_OMEGA_PACKAGE_STRING -#define CLUSTAL_OMEGA_PACKAGE_STRING "Clustal Omega 1.2.3" +#define CLUSTAL_OMEGA_PACKAGE_STRING "Clustal Omega 1.2.4" #endif /* Define to the one symbol short name of this package. */ @@ -238,7 +238,7 @@ /* Define to the version of this package. */ #ifndef CLUSTAL_OMEGA_PACKAGE_VERSION -#define CLUSTAL_OMEGA_PACKAGE_VERSION "1.2.3" +#define CLUSTAL_OMEGA_PACKAGE_VERSION "1.2.4" #endif /* The size of `fpos_t', as computed by sizeof. */ @@ -301,7 +301,7 @@ /* Version number of package */ #ifndef CLUSTAL_OMEGA_VERSION -#define CLUSTAL_OMEGA_VERSION "1.2.3" +#define CLUSTAL_OMEGA_VERSION "1.2.4" #endif /* Define if using the dmalloc debugging malloc package */ diff -Nru clustalo-1.2.3/src/hhalign/hhalignment-C.h clustalo-1.2.4/src/hhalign/hhalignment-C.h --- clustalo-1.2.3/src/hhalign/hhalignment-C.h 2016-06-13 14:10:11.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhalignment-C.h 2016-12-16 16:20:49.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhalignment-C.h 309 2016-06-13 14:10:11Z fabian $ + * RCS $Id: hhalignment-C.h 316 2016-12-16 16:14:39Z fabian $ */ @@ -82,15 +82,15 @@ //printf(">>>>>>>>%s:%s:%d: maxseq=%d, maxres=%d\n", __FUNCTION__, __FILE__, __LINE__, maxseq, maxres); /* (FS) */ longname = new(char[DESCLEN]); - sname = new(char*[maxseq+2]); /* MR1 */ - seq = new(char*[maxseq+2]); /* MR1 */ - l = new(int[maxres]); - X = new(char*[maxseq+2]); /* MR1 */ - I = new(short unsigned int*[maxseq+2]); /* MR1 */ - keep = new(char[maxseq+2]); /* MR1 */ - display = new(char[maxseq+2]); /* MR1 */ - wg = new(float[maxseq+2]); /* MR1 */ - nseqs = new(int[maxres+2]); /* MR1 */ + sname = new char*[maxseq+2]; /* MR1 */ + seq = new char*[maxseq+2]; /* MR1 */ + l = new int[maxres]; + X = new char*[maxseq+2]; /* MR1 */ + I = new short unsigned int*[maxseq+2]; /* MR1 */ + keep = new char[maxseq+2]; /* MR1 */ + display = new char[maxseq+2]; /* MR1 */ + wg = new float[maxseq+2]; /* MR1 */ + nseqs = new int[maxres+2]; /* MR1 */ N_in=L=0; nres=NULL; // number of residues per sequence k first=NULL; // first residue in sequence k @@ -143,7 +143,7 @@ int k; // Index of sequence being read currently (first=0) char line[LINELEN]=""; // input line //char cur_seq[MAXCOL]; // Sequence currently read in - char *cur_seq=new(char[par.maxColCnt]); + char *cur_seq=new char[par.maxColCnt]; char* cur_name; // Sequence currently read in int linenr=0; // current line number in input file char skip_sequence=0; @@ -185,11 +185,11 @@ } // Create space for residues and paste new sequence in - seq[k]=new(char[strlen(cur_seq)+2]); + seq[k]=new char[strlen(cur_seq)+2]; if (!seq[k]) MemoryError("array for input sequences"); - X[k]=new(char[strlen(cur_seq)+2]); + X[k]=new char[strlen(cur_seq)+2]; if (!X[k]) MemoryError("array for input sequences"); - I[k]=new(short unsigned int[strlen(cur_seq)+2]); + I[k]=new short unsigned int[strlen(cur_seq)+2]; if (!I[k]) MemoryError("array for input sequences"); strcpy(seq[k],cur_seq); } @@ -238,7 +238,7 @@ // store sequence name if (v>=4) printf("Reading seq %-16.16s k=%3i n_displ=%3i display[k]=%i keep[k]=%i\n",cur_name,k,n_display,display[k],keep[k]); - sname[k] = new(char[strlen(cur_name)+1]); + sname[k] = new char[strlen(cur_name)+1]; if (!sname[k]) {MemoryError("array for sequence names");} strcpy(sname[k],cur_name); } // end if(line contains sequence name) @@ -353,11 +353,11 @@ if (k>=0) //if at least one sequence was read in { - seq[k]=new(char[strlen(cur_seq)+2]); + seq[k]=new char[strlen(cur_seq)+2]; if (!seq[k]) MemoryError("array for input sequences"); - X[k]=new(char[strlen(cur_seq)+2]); + X[k]=new char[strlen(cur_seq)+2]; if (!X[k]) MemoryError("array for input sequences"); - I[k]=new(short unsigned int[strlen(cur_seq)+2]); + I[k]=new short unsigned int[strlen(cur_seq)+2]; if (!I[k]) MemoryError("array for input sequences"); strcpy(seq[k],cur_seq); } @@ -425,7 +425,7 @@ /*static short unsigned int h[MAXSEQ];*/ /*short*/ unsigned int *h = NULL; /* short may lead to overflow for long alignments, FS, r235 -> r236 */ - h = new(/*short*/ unsigned int[N_in+2]); /* short -> overflow, FS, r235 -> r236 */ + h = new /*short*/ unsigned int[N_in+2]; /* short -> overflow, FS, r235 -> r236 */ float *percent_gaps = NULL; /* FS, 2010-Nov */ char *match_state = NULL; /* FS, 2010-Nov */ @@ -557,13 +557,13 @@ had to move declaration of float *percent_gaps out of switch() */ //float percent_gaps[MAXCOL]; //percentage of gaps in column k (with weighted sequences) - percent_gaps = new(float[par.maxColCnt]); + percent_gaps = new float[par.maxColCnt]; //determine number of columns L in alignment L=strlen(seq[kfirst])-1; // Conversion to integer representation, checking for unequal lengths and initialization - if (nres==NULL) nres=new(int[N_in]); + if (nres==NULL) nres=new int[N_in]; #if 0 //#ifdef HAVE_OPENMP #pragma omp parallel for schedule(static), private(l) @@ -801,7 +801,7 @@ had to move declaration of float *percent_gaps out of switch() */ //char match_state[MAXCOL]; //1: column assigned to match state 0: insert state - match_state = new(char[par.maxColCnt]); + match_state = new char[par.maxColCnt]; // Determine number of columns L in alignment L=strlen(seq[0]+1); @@ -963,7 +963,7 @@ if (par.mark) return n_display; - char *dummy = new(char[N_in+1]); + char *dummy = new char[N_in+1]; int vtmp=v, seqid; v=0; n_display=0; @@ -1026,12 +1026,12 @@ { // In the beginnning, keep[k] is 1 for all regular amino acid sequences and 0 for all others (ss_conf, ss_pred,...) // In the end, keep[k] will be 1 for all regular representative sequences kept in the alignment, 0 for all others - char* in=new(char[N_in+1]); // in[k]=1: seq k has been accepted; in[k]=0: seq k has not yet been accepted at current seqid - char* inkk=new(char[N_in+1]); // inkk[k]=1 iff in[ksort[k]]=1 else 0; - int* Nmax=new(int[L+2]); // position-dependent maximum-sequence-identity threshold for filtering /* MR1, used to be called idmax*/ - int* idmaxwin=new(int[L+2]); // minimum value of idmax[i-WFIL,i+WFIL] - int* seqid_prev=new(int[N_in+1]); // maximum-sequence-identity threshold used in previous round of filtering (with lower seqid) - int* N=new(int[L+2]); // N[i] number of already accepted sequences at position i + char* in=new char[N_in+1]; // in[k]=1: seq k has been accepted; in[k]=0: seq k has not yet been accepted at current seqid + char* inkk=new char[N_in+1]; // inkk[k]=1 iff in[ksort[k]]=1 else 0; + int* Nmax=new int[L+2]; // position-dependent maximum-sequence-identity threshold for filtering /* MR1, used to be called idmax*/ + int* idmaxwin=new int[L+2]; // minimum value of idmax[i-WFIL,i+WFIL] + int* seqid_prev=new int[N_in+1]; // maximum-sequence-identity threshold used in previous round of filtering (with lower seqid) + int* N=new int[L+2]; // N[i] number of already accepted sequences at position i const int WFIL=25; // see previous line int diffNmax=Ndiff; // current maximum difference of Nmax[i] and Ndiff /* MR1 */ @@ -1059,8 +1059,8 @@ // Determine first[k], last[k]? if (first==NULL) { - first=new(int[N_in]);// first non-gap position in sequence k - last =new(int[N_in]);// last non-gap position in sequence k + first=new int[N_in];// first non-gap position in sequence k + last =new int[N_in];// last non-gap position in sequence k for (k=0; k=maxcol-1000) // too few columns? Reserve double space { - char* new_seq=new(char[2*maxcol]); + char* new_seq=new char[2*maxcol]; strncpy(new_seq,cur_seq,maxcol); //////// check: maxcol-1 ???? delete[](cur_seq); (cur_seq) = NULL; cur_seq=new_seq; @@ -2841,14 +2841,14 @@ cur_seq[h++]='\0'; keep[N_in] = display[N_in] = KEEP_CONDITIONALLY; - seq[N_in]=new(char[h]); + seq[N_in]=new char[h]; if (!seq[N_in]) MemoryError("array for input sequences"); strcpy(seq[N_in],cur_seq); - X[N_in]=new(char[h]); + X[N_in]=new char[h]; if (!X[N_in]) MemoryError("array for input sequences"); - I[N_in]=new(short unsigned int[h]); + I[N_in]=new short unsigned int[h]; if (!I[N_in]) MemoryError("array for input sequences"); - sname[N_in]=new(char[strlen(Tali.sname[k])+1]); + sname[N_in]=new char[strlen(Tali.sname[k])+1]; if (!sname[N_in]) MemoryError("array for input sequences"); strcpy(sname[N_in],Tali.sname[k]); N_in++; @@ -2879,7 +2879,7 @@ { int i; // position in query and target if (L<=0) InternalError("L is not set in AddSequence()"); - X[N_in]=new(char[L+2]); + X[N_in]=new char[L+2]; for (i=0; i<=L+1; i++) X[N_in][i]=Xk[i]; if (Ik==NULL) for (i=0; i<=L+1; i++) I[N_in][i]=0; @@ -2929,7 +2929,7 @@ { // Initialization - n = new(int*[L+2]); + n = new int*[L+2]; for (j=1; j<=L; j++) n[j]=new(int[NAA+3]); for (j=1; j<=L; j++) for (a=0; a */ for (k = 0; k < iCnt; k++){ #define GOOD_MEASURE 1000 /* Temporary -- can be removed once rest in place */ - I[k] = new(short unsigned int[iLen+2+GOOD_MEASURE]); - X[k] = new(char[iLen+2+GOOD_MEASURE]); - seq[k] = new(char[iLen+2+GOOD_MEASURE]); + I[k] = new short unsigned int[iLen+2+GOOD_MEASURE]; + X[k] = new char[iLen+2+GOOD_MEASURE]; + seq[k] = new char[iLen+2+GOOD_MEASURE]; seq[k][0] = ' '; seq[k][1] = '\0'; if (NULL == ppcProf[k]){ diff -Nru clustalo-1.2.3/src/hhalign/hhfullalignment-C.h clustalo-1.2.4/src/hhalign/hhfullalignment-C.h --- clustalo-1.2.3/src/hhalign/hhfullalignment-C.h 2016-06-13 14:10:11.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhfullalignment-C.h 2016-12-15 17:42:45.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhfullalignment-C.h 309 2016-06-13 14:10:11Z fabian $ + * RCS $Id: hhfullalignment-C.h 315 2016-12-15 17:18:30Z fabian $ */ // hhfullalignment.C @@ -357,8 +357,8 @@ int iq=hit.i1; // match state counter for query HMM (displayed in consensus line) int jt=hit.j1; // match state counter for template HMM (displayed in consensus line) - lq = new(short unsigned int[qa->n+2]); - lt = new(short unsigned int[ta->n+2]); + lq = new short unsigned int[qa->n+2]; + lt = new short unsigned int[ta->n+2]; for (k=0; kn; k++) lq[k]=qa->l[k][hit.i1]; for (k=0; kn; k++) lt[k]=ta->l[k][hit.j1]; diff -Nru clustalo-1.2.3/src/hhalign/hhhalfalignment-C.h clustalo-1.2.4/src/hhalign/hhhalfalignment-C.h --- clustalo-1.2.3/src/hhalign/hhhalfalignment-C.h 2016-06-13 14:10:11.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhhalfalignment-C.h 2016-12-15 17:42:45.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhhalfalignment-C.h 309 2016-06-13 14:10:11Z fabian $ + * RCS $Id: hhhalfalignment-C.h 315 2016-12-15 17:18:30Z fabian $ */ // hhfullalignment.C @@ -64,10 +64,10 @@ n=0; sname=seq=NULL; nss_dssp = nss_pred = nss_conf = nsa_dssp = ncons= -1; - h = new(int[maxseqdis]); //h[k] = next position of sequence k to be written - s = new(char*[maxseqdis]); //s[k][h] = character in column h, sequence k of output alignment - l = new(int*[maxseqdis]); //counts non-gap residues: l[k][i] = index of last residue AT OR BEFORE match state i in seq k - m = new(int*[maxseqdis]); //counts positions: m[k][i] = position of match state i in string seq[k] + h = new int[maxseqdis]; //h[k] = next position of sequence k to be written + s = new char*[maxseqdis]; //s[k][h] = character in column h, sequence k of output alignment + l = new int*[maxseqdis]; //counts non-gap residues: l[k][i] = index of last residue AT OR BEFORE match state i in seq k + m = new int*[maxseqdis]; //counts positions: m[k][i] = position of match state i in string seq[k] } ///////////////////////////////////////////////////////////////////////////////////// diff -Nru clustalo-1.2.3/src/hhalign/hhhit-C.h clustalo-1.2.4/src/hhalign/hhhit-C.h --- clustalo-1.2.3/src/hhalign/hhhit-C.h 2016-06-13 14:07:35.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhhit-C.h 2016-12-16 16:20:49.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhhit-C.h 308 2016-06-13 14:07:35Z fabian $ + * RCS $Id: hhhit-C.h 316 2016-12-16 16:14:39Z fabian $ */ // hhhit.C @@ -177,20 +177,20 @@ Hit::AllocateBacktraceMatrix(int Nq, int Nt) { int i; - bMM=new(char*[Nq]); - bMI=new(char*[Nq]); - bIM=new(char*[Nq]); - bDG=new(char*[Nq]); - bGD=new(char*[Nq]); - cell_off=new(char*[Nq]); + bMM=new char*[Nq]; + bMI=new char*[Nq]; + bIM=new char*[Nq]; + bDG=new char*[Nq]; + bGD=new char*[Nq]; + cell_off=new char*[Nq]; for (i=0; ii = new( int[i2+j2+2])(); - this->j = new( int[i2+j2+2])(); - states = new( char[i2+j2+2])(); + this->i = new int[i2+j2+2](); + this->j = new int[i2+j2+2](); + states = new char[i2+j2+2](); S = S_ss = P_posterior = NULL; // set to NULL to avoid deleting data from irep=1 when hit with irep=2 is removed Xcons = NULL; } /* this is the end of Hit::InitializeBacktrace() */ diff -Nru clustalo-1.2.3/src/hhalign/hhhitlist-C.h clustalo-1.2.4/src/hhalign/hhhitlist-C.h --- clustalo-1.2.3/src/hhalign/hhhitlist-C.h 2016-06-13 14:04:39.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhhitlist-C.h 2016-12-15 17:42:45.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhhitlist-C.h 307 2016-06-13 14:04:39Z fabian $ + * RCS $Id: hhhitlist-C.h 315 2016-12-15 17:18:30Z fabian $ */ // hhhitlist.C @@ -1283,32 +1283,32 @@ index.Add(name,k); } // Read symmetric Z-scores matrix - Z = new(float*[N]); + Z = new float*[N]; for (k=0; k Zmin_trans - double** Csub = new(double*[M]); - double** Cinv = new(double*[M]); + double** Csub = new double*[M]; + double** Cinv = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); + double** Csub = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); - double** Cinv = new(double*[M]); + double** Csub = new double*[M]; + double** Cinv = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); + double** Csub = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); - double** Cinv = new(double*[M]); + double** Csub = new double*[M]; + double** Cinv = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); + double** Csub = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); + double** Csub = new double*[M]; for (m=0; m Zmin_trans - double** Csub = new(double*[M]); + double** Csub = new double*[M]; for (m=0; m k=n int h; // index for character in input line int l=1; // index of character in sequence seq[k] @@ -358,14 +358,14 @@ //If this is not the first sequence then store residues of previous sequence if (k>0) { - seq[k-1]=new(char[strlen(cur_seq)+1]); + seq[k-1]=new char[strlen(cur_seq)+1]; if (!seq[k-1]) MemoryError("array of sequences to display"); strcpy(seq[k-1],cur_seq); } // store sequence name strcut(line+1); //find next white-space character and overwrite it with end-of-string character - sname[k] = new (char[strlen(line+1)+1]); //+1 for terminating '\0' + sname[k] = new char[strlen(line+1)+1]; //+1 for terminating '\0' if (!sname[k]) MemoryError("array of names for sequences to display"); strcpy(sname[k],line+1); //store sequence name in **name l=1; i=1; @@ -461,7 +461,7 @@ } //while(getline) //If this is not the first sequence some residues have already been read in if (k>=0) { - seq[k]=new(char[strlen(cur_seq)+1]); + seq[k]=new char[strlen(cur_seq)+1]; if (!seq[k]) MemoryError("array of sequences to display"); strcpy(seq[k],cur_seq); } @@ -733,7 +733,7 @@ if (nsa_dssp<0) { nsa_dssp=k++; - seq[nsa_dssp] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nsa_dssp] = new char[/*MAXRES*/par.maxResLen+2]; sname[nsa_dssp] = new(char[15]); strcpy(seq[nsa_dssp]," "); strcpy(sname[nsa_dssp],"sa_dssp"); @@ -754,7 +754,7 @@ if (nss_pred<0) { nss_pred=k++; - seq[nss_pred] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_pred] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_pred] = new(char[15]); strcpy(seq[nss_pred]," "); strcpy(sname[nss_pred],"ss_pred"); @@ -775,7 +775,7 @@ if (nss_conf<0) { nss_conf=k++; - seq[nss_conf] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_conf] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_conf] = new(char[15]); strcpy(seq[nss_conf]," "); strcpy(sname[nss_conf],"ss_conf"); @@ -857,7 +857,7 @@ // Prepare to store DSSP states (if there are none, delete afterwards) nss_dssp=k++; - seq[nss_dssp] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_dssp] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_dssp] = new(char[15]); strcpy(sname[nss_dssp],"ss_dssp"); @@ -1033,12 +1033,12 @@ { sname[k]=new(char[10]); strcpy(sname[k],"Consensus"); - sname[k+1]=new(char[strlen(longname)+1]); + sname[k+1]=new char[strlen(longname)+1]; strcpy(sname[k+1],longname); - seq[k]=new(char[L+2]); + seq[k]=new char[L+2]; seq[k][0]=' '; seq[k][L+1]='\0'; - seq[k+1]=new(char[L+2]); + seq[k+1]=new char[L+2]; seq[k+1][0]=' '; seq[k+1][L+1]='\0'; for (i=1; i<=L; ++i) @@ -1056,11 +1056,11 @@ } else { - sname[k]=new(char[strlen(longname)+1]); + sname[k]=new char[strlen(longname)+1]; /* FIXME valgrind says bytes get lost here during hmm iteration -- fixed in HMM::ClobberGlobal(), I (FS) think */ strcpy(sname[k],longname); - seq[k]=new(char[L+2]); + seq[k]=new char[L+2]; seq[k][0]=' '; seq[k][L+1]='\0'; } @@ -1235,7 +1235,7 @@ if (nsa_dssp<0) { nsa_dssp=k++; - seq[nsa_dssp] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nsa_dssp] = new char[/*MAXRES*/par.maxResLen+2]; sname[nsa_dssp] = new(char[15]); strcpy(seq[nsa_dssp]," "); strcpy(sname[nsa_dssp],"sa_dssp"); @@ -1256,7 +1256,7 @@ if (nss_pred<0) { nss_pred=k++; - seq[nss_pred] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_pred] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_pred] = new(char[15]); strcpy(seq[nss_pred]," "); strcpy(sname[nss_pred],"ss_pred"); @@ -1277,7 +1277,7 @@ if (nss_conf<0) { nss_conf=k++; - seq[nss_conf] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_conf] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_conf] = new(char[15]); strcpy(seq[nss_conf]," "); strcpy(sname[nss_conf],"ss_conf"); @@ -1333,7 +1333,7 @@ ptr = strscn(line); for (a=0; a<=D2D && ptr; ++a) - tr[0][a] = log2((float) exp(-1.0*strflta(ptr,99999))); //store transition probabilites as log2 values + tr[0][a] = Log2((float) exp(-1.0*strflta(ptr,99999))); //store transition probabilites as log2 values // strinta returns next integer in string and puts ptr to first char // after the integer. Returns -99999 if '*' is found. // ptr is set to 0 if no integer is found after ptr. @@ -1347,7 +1347,7 @@ // Prepare to store DSSP states (if there are none, delete afterwards) nss_dssp=k++; - seq[nss_dssp] = new(char[/*MAXRES*/par.maxResLen+2]); + seq[nss_dssp] = new char[/*MAXRES*/par.maxResLen+2]; sname[nss_dssp] = new(char[15]); strcpy(sname[nss_dssp],"ss_dssp"); @@ -1471,7 +1471,7 @@ ptr+=2; for (a=0; a<=D2D && ptr; ++a) - tr[i][a] = log2((float) exp(-1.0*strflta(ptr,99999))); //store transition prob's as log2-values + tr[i][a] = Log2((float) exp(-1.0*strflta(ptr,99999))); //store transition prob's as log2-values if (!ptr) return Warning(dbf,line,name); if (v>=4) { @@ -1527,12 +1527,12 @@ { sname[k]=new(char[10]); strcpy(sname[k],"Consensus"); - sname[k+1]=new(char[strlen(longname)+1]); + sname[k+1]=new char[strlen(longname)+1]; strcpy(sname[k+1],longname); - seq[k]=new(char[L+2]); + seq[k]=new char[L+2]; seq[k][0]=' '; seq[k][L+1]='\0'; - seq[k+1]=new(char[L+2]); + seq[k+1]=new char[L+2]; seq[k+1][0]=' '; seq[k+1][L+1]='\0'; for (i=1; i<=L; ++i) @@ -1550,9 +1550,9 @@ } else { - sname[k]=new(char[strlen(longname)+1]); + sname[k]=new char[strlen(longname)+1]; strcpy(sname[k],longname); - seq[k]=new(char[L+2]); + seq[k]=new char[L+2]; seq[k][0]=' '; seq[k][L+1]='\0'; } @@ -2107,7 +2107,7 @@ HMM::InsertCalibration(char* infile) { char* line = new(char[LINELEN]); // input line - char** lines = new(char*[3*L+100000]); + char** lines = new char*[3*L+100000]; int nline=0; int l; char done=0; // inserted new 'EVD mu sigma' line? @@ -2136,7 +2136,7 @@ sprintf(lines[nline],"EVD %-7.4f %-7.4f",lamda,mu); nline++; } - lines[nline]=new(char[strlen(line)+1]); + lines[nline]=new char[strlen(line)+1]; if (!lines[nline]) MemoryError("space to read in HHM file for calibration"); strcpy (lines[nline],line); nline++; diff -Nru clustalo-1.2.3/src/hhalign/hhmatrices-C.h clustalo-1.2.4/src/hhalign/hhmatrices-C.h --- clustalo-1.2.3/src/hhalign/hhmatrices-C.h 2016-06-10 17:05:05.000000000 +0000 +++ clustalo-1.2.4/src/hhalign/hhmatrices-C.h 2016-12-16 16:20:49.000000000 +0000 @@ -15,7 +15,7 @@ ********************************************************************/ /* - * RCS $Id: hhmatrices-C.h 274 2012-04-24 23:28:24Z dave $ + * RCS $Id: hhmatrices-C.h 316 2016-12-16 16:14:39Z fabian $ */ // Substitution matrices and their background frequencies @@ -430,7 +430,7 @@ //Precompute matrix R for amino acid pseudocounts: for (a=0; a<20; ++a) for (b=0; b<20; ++b) - S[a][b] = log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) + S[a][b] = Log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) // Evaluate sequence identity underlying substitution matrix if (v>=3) @@ -440,11 +440,11 @@ float entropy_pb=0.0f; float mut_info=0.0f; for (a=0; a<20; ++a) id+=P[a][a]; - for (a=0; a<20; ++a) entropy_pb-=pb[a]*log2(pb[a]); + for (a=0; a<20; ++a) entropy_pb-=pb[a]*Log2(pb[a]); for (a=0; a<20; ++a) for (b=0; b<20; ++b) { - entropy-=P[a][b]*log2(R[a][b]); + entropy-=P[a][b]*Log2(R[a][b]); mut_info += P[a][b]*S[a][b]; } @@ -538,7 +538,7 @@ //Precompute matrix R for amino acid pseudocounts: for (a=0; a<20; ++a) for (b=0; b<20; ++b) - S[a][b] = log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) + S[a][b] = Log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) // Evaluate sequence identity underlying substitution matrix if (v>=3) @@ -548,11 +548,11 @@ float entropy_pb=0.0f; float mut_info=0.0f; for (a=0; a<20; ++a) id+=P[a][a]; - for (a=0; a<20; ++a) entropy_pb-=pb[a]*log2(pb[a]); + for (a=0; a<20; ++a) entropy_pb-=pb[a]*Log2(pb[a]); for (a=0; a<20; ++a) for (b=0; b<20; ++b) { - entropy-=P[a][b]*log2(R[a][b]); + entropy-=P[a][b]*Log2(R[a][b]); mut_info += P[a][b]*S[a][b]; } @@ -646,7 +646,7 @@ //Precompute matrix R for amino acid pseudocounts: for (a=0; a<20; ++a) for (b=0; b<20; ++b) - S[a][b] = log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) + S[a][b] = Log2(R[a][b]/pb[a]); // S[a][b] = log2(P(a,b)/P(a)/P(b)) // Evaluate sequence identity underlying substitution matrix if (v>=3) @@ -656,11 +656,11 @@ float entropy_pb=0.0f; float mut_info=0.0f; for (a=0; a<20; ++a) id+=P[a][a]; - for (a=0; a<20; ++a) entropy_pb-=pb[a]*log2(pb[a]); + for (a=0; a<20; ++a) entropy_pb-=pb[a]*Log2(pb[a]); for (a=0; a<20; ++a) for (b=0; b<20; ++b) { - entropy-=P[a][b]*log2(R[a][b]); + entropy-=P[a][b]*Log2(R[a][b]); mut_info += P[a][b]*S[a][b]; } @@ -739,7 +739,7 @@ for (B=0; B //#include "new_new.h" /* memory tracking */ +#include "../config.h" ///////////////////////////////////////////////////////////////////////////////////// // Arithmetics @@ -51,8 +52,11 @@ inline double fmean(double x, double y, double d) { return pow( (pow(x,d)+pow(y,d))/2 ,1./d);} // log base 2 -inline float log2(float x) {return (x<=0? (float)(-100000):1.442695041*log(x));} -inline float log10(float x) {return (x<=0? (float)(-100000):0.434294481*log(x));} +//#ifndef CLUSTAL_OMEGA_HAVE_LOG2 +//#ifndef HAVE_LOG2 +inline float Log2(float x) {return (x<=0? (float)(-100000):1.442695041*log(x));} +inline float Log10(float x) {return (x<=0? (float)(-100000):0.434294481*log(x));} +//#endif ///////////////////////////////////////////////////////////////////////////////////// @@ -243,7 +247,7 @@ inline char* sprintg(float val, int w) { static char str[100]; - float log10val = log10(fabs(val)); + float log10val = Log10(fabs(val)); int neg = (val<0? 1: 0); if (log10val >= w-neg-1 || -log10val > 3) { diff -Nru clustalo-1.2.3/src/squid/clustal.c clustalo-1.2.4/src/squid/clustal.c --- clustalo-1.2.3/src/squid/clustal.c 2016-07-14 16:57:39.000000000 +0000 +++ clustalo-1.2.4/src/squid/clustal.c 2016-12-15 17:42:45.000000000 +0000 @@ -14,7 +14,7 @@ * formatted files. Derivative of msf.c; MSF is a pretty * generic interleaved format. * - * RCS $Id: clustal.c 312 2016-07-14 16:57:39Z fabian $ (Original squid RCS Id: clustal.c,v 1.1 1999/07/15 22:26:53 eddy Exp) + * RCS $Id: clustal.c 315 2016-12-15 17:18:30Z fabian $ (Original squid RCS Id: clustal.c,v 1.1 1999/07/15 22:26:53 eddy Exp) */ #include @@ -291,12 +291,12 @@ } /* printf("%*s") gives problems for unicode, FS, -> 290 */ /*fprintf(fp, "%-*s\t%s\t%d\n", namelen+5, msa->sqname[idx], buf, piResCnt[idx]);*/ - fprintf(fp, "%s%*s %s\t%d\n", msa->sqname[idx], namelen+5-utf8len(msa->sqname[idx]), "", buf, piResCnt[idx]); + fprintf(fp, "%s%*s %s\t%d\n", msa->sqname[idx], (int)(namelen+5-utf8len(msa->sqname[idx])), "", buf, piResCnt[idx]); } else { /* printf("%*s") gives problems for unicode, FS, -> 290 */ /*fprintf(fp, "%-*s\t%s\n", namelen+5, msa->sqname[idx], buf);*/ - fprintf(fp, "%s%*s %s\n", msa->sqname[idx], namelen+5-utf8len(msa->sqname[idx]), "", buf); + fprintf(fp, "%s%*s %s\n", msa->sqname[idx], (int)(namelen+5-utf8len(msa->sqname[idx])), "", buf); } #else fprintf(fp, "%*s %s\n", namelen, msa->sqname[idx], buf); diff -Nru clustalo-1.2.3/src/squid/hsregex.c clustalo-1.2.4/src/squid/hsregex.c --- clustalo-1.2.3/src/squid/hsregex.c 2013-08-26 14:18:14.000000000 +0000 +++ clustalo-1.2.4/src/squid/hsregex.c 2016-12-16 16:20:49.000000000 +0000 @@ -494,7 +494,7 @@ register char *ret; register char *chain; register char *latest; - int flags; + int flags = 0; register int c; *flagp = WORST; /* Tentatively. */ @@ -535,7 +535,7 @@ register char *ret; register char op; register char *next; - int flags; + int flags = 0; ret = regatom(cp, &flags); if (ret == NULL) diff -Nru clustalo-1.2.3/src/squid/msf.c clustalo-1.2.4/src/squid/msf.c --- clustalo-1.2.3/src/squid/msf.c 2013-08-26 14:18:14.000000000 +0000 +++ clustalo-1.2.4/src/squid/msf.c 2016-12-16 16:20:49.000000000 +0000 @@ -14,7 +14,7 @@ * formatted files. Designed using format specifications * kindly provided by Steve Smith of Genetics Computer Group. * - * RCS $Id: msf.c 217 2011-03-19 10:27:10Z andreas $ (Original squid RCS Id: msf.c,v 1.4 2001/04/23 00:35:33 eddy Exp) + * RCS $Id: msf.c 316 2016-12-16 16:14:39Z fabian $ (Original squid RCS Id: msf.c,v 1.4 2001/04/23 00:35:33 eddy Exp) */ #include @@ -80,9 +80,9 @@ { MSA *msa; char *s; - int alleged_alen; - int alleged_type; - int alleged_checksum; + int alleged_alen = 0; + int alleged_type = 0; + int alleged_checksum = 0; char *tok; char *sp; int slen;