Bump shared object version to 7

Almost certainly the ABI is binary incompatible for the 4.5.5 -> 4.5.6
transition, but we didn't think of handling the issue at the time.
So we can do so now.

Refs #1147

Change-Id: I15f978547d7fbcc9a72454067825c71c0ffb459a
added mdrun check for Verlet+perturbed atoms

Currently the Verlet scheme does not support perturbed atoms.
This will be implemented soon.

Change-Id: Id8656aa680b6581882f5371514cdbd85f429c418
fix broken things in mkhtml

Change-Id: Ifb9aa694eddd4bffe457674265a2b17093182c50
Fixes linkage with FFTW + MKL for BLAS/LAPACK

The order of linking was incorrect, when using both mkl and fftw
causing the mkl fftw wrapper to be used instead of fftw itself.

Removes all unnecessary transitive libraries (cmake adds those
automatically). Simplifies the target_link_libraries lines, and
makes it much easier to change the fft/blas link order.

Only remaining transitive libraries are gmx/md for binaries. This
is required because OpenMP_LINKER_FLAGS needs to be at the end
but transitive libraries are added at the end. Thus without listing
gmx/md manually the order is incorrect.

Also fixes that nbnxn_cuda has cuda_tools listed as library
dependency. Was prior working without it but now is needed and is
also anyhow the more corect way to do it.

Fixes #1067

Change-Id: I639b16f1460d27a15eb72cc00674c041266f6624
Fixes #1183 PBC bug in g_mindist

Fixes minimum size of the box if triclinic when checking
the periodic image distance.

Change-Id: I54cb593c42f791b6540147233c345069f84e2f33
Essential dynamics: fixed legend in ED .xvg output file

If one performs flooding only and none of the standard essential dynamics
protocols are turned on, the .xvg output file did still print ED legends.
I moved the bNeedDoEdsam check from init_edi() to write_edo_legend(), so
that already here we can check whether ED or only flooding is performed.

Change-Id: Ic3a784b63b335059c17aed852d1b4a4f3126841a
Merge "Fixes linkage with FFTW + MKL for BLAS/LAPACK" into release-4-6
Added install guide section for BLAS/LAPACK

Fixes #1186

Change-Id: If9e95f93cd216b86143685fd0ae9bfbc5d26792e
Merge "fix broken things in mkhtml" into release-4-6
corrected grompp rvdw charge-group radii check

The grompp note for charge-group radii larger than the buffer size
for VdW interactions only checked for rlist, not rlistlong.
Fixes #1164

Change-Id: I85a615e6c004503440bcae52c220540a843107d0
Merge "Essential dynamics: fixed legend in ED .xvg output file" into release-4-6
made PME work with a mix of 1 and more threads

Using a mix of 1 and more OpenMP threads on different MPI ranks
would make mdrun terminate with an MPI error.
Fixes #1171

Change-Id: Iffa16e18baf0f74be826b59503208dca01d1ec14
Merge libgmxana into libgromacs.

- Move contents of src/tools/ into src/gromacs/gmxana/, except for
  g_tune_pme.c and g_pme_error.c.
- Delete unused src/tools/g_membed.c.
- Adjust the build system accordingly, removing references to gmxana.
- Merge contents of libgmxana.pc into libgromacs.pc and remove the
  former.
- Move src/gromacs/legacyheaders/gmx_ana.h into src/gromacs/gmxana/ and
  adjust files that include it accordingly.  Removed a few unnecessary
  inclusions of this header.  Don't install it, as it doesn't do much
  good.
- Merge src/contrib/g_sdf.c into src/contrib/gmx_sdf.c to make it
  independent of gmx_ana.h.  Remove gmx_sdf() from gmx_ana.h.

Closes #1013.

Change-Id: I34ba52fc938823833103123c8ada06d169abf7de
Add histogram output for 'gmx gangle'.

This analysis module can now compute histograms of the angles with -oh.
Bin width can be set with -binw.

Change-Id: Ib4f72e43c84706685f1dbc9584bd31ca1abda297
Improve master-specific CMake behavior.

- Make GMX_BUILD_UNITTESTS independent of GMX_XML.  It now gets it
  default value based on whether libxml2 is found.  Also, if it is
  explicitly set, but libxml2 is not found, give a fatal error instead
  of silently disabling the tests.
- Mark GMX_XML as advanced and make it a no-op that it currently is
  (nothing in libgromacs actually depends on libxml2).
- Rename GMX_INTERNAL_BOOST to GMX_EXTERNAL_BOOST to match BLAS/LAPACK
  settings.  Set the default for it based on whether Boost is
  actually found.  Print the existing message on the first run if
  GMX_EXTERNAL_BOOST was not explicitly set.  Give a fatal error if
  boost is not found and GMX_EXTERNAL_BOOST=ON instead of silently
  changing to use the internal boost.
- Move installation rules etc. for boost towards the end of the
  CMakeLists.txt file to use INCL_INSTALL_DIR in them.

Now, cached values for these variables really describe what is going to
get build.  Also, explicit user choices are never overridden, but result
in fatal errors if they cannot be satisfied.

Change-Id: I5b3f93eecff2ccc4bf8d348392dd4ae30efd9f92
Merge release-4-5-patches into release-4-6

Conflicts:
	CMakeLists.txt
	configure.ac
	src/tools/gmx_mindist.c

Change-Id: I303318f17527a8e1bfe494eb174565b8d5491870
corrected log file wall time breakdown

The recent commit 873b9854 doubled the wall times in the breakdown
table in the log file when not using separate PME nodes.
Note that this didn't affect cycle count or total timing prints.
Fixes #1210

Change-Id: Ia2b1d5e6c21543990465b7c7a4a8a1e687c41528
removed x86 specifics from nbnxn SIMD kernels

All x86 specific preprossing and SIMD intrinsics in
nbxn_kernel_simd_???_outer/inner.h have been replaced by generic SIMD
macro code. Exclusion masks are now loaded iso set and the treatment
is the same for most setups and can use only floating point intrinsics.
Moved half-width SIMD from gmx_simd_macros.h to two 2xnn .h files.
Half-width load macros now take the output as an argument,
in preparation for Intel MIC SIMD instrinsics.
Replaced _SSE suffixes by _S in the abovementioned files.

Change-Id: Ib634726af6e51a99c904e05528b0ac10ecbc2462
Merge "Added install guide section for BLAS/LAPACK" into release-4-6
Fix bug in selection subexpression handling.

Did not work correctly if
1. a static expression was passed to a SPAR_ATOMVAL parameter,
2. other parameters to the same selection method were dynamic
   (so that the expression would not be completely eliminated during
   compilation), and
3. the evaluation group of the SEL_EXPRESSION element was dynamic
   (so that the SPAR_ATOMVAL expression could be evaluated for a
   different group during evaluation and compilation).
In this case, the static atom-valued parameter got evaluated during
compilation for the maximal evaluation group and replaced by a constant.
During evaluation, if the evaluation group was smaller, the values for
that expression were no longer correct.
See #1216 for what kinds of concrete selections this applies to.

Subexpression handling in the selections is starting to (again) get very
messy, but that is a topic for a larger-scale refactoring...

Fixes #1216.

Change-Id: Ic6b7f9b8df661a9c78d7862b981a07e65a7ebdbf