- drop FOAM_MPI_LIBBIN variable in favour of FOAM_MPI from which
two different locations can be determined.
Previously there was something like this:
FOAM_MPI_LIBBIN = $FOAM_LIBBIN/openmpi-1.5.1
We now instead determine the locations from the FOAM_MPI directly:
FOAM_MPI=openmpi-1.5.1
$FOAM_LIBBIN/$FOAM_MPI -> OpenFOAM mpi-related
$FOAM_EXT_LIBBIN/$FOAM_MPI -> ThirdPary mpi-related
ENH: relocate ParaView libraries and plugins back under FOAM_LIBBIN
- as discussed with Mattijs
- consistent and shorter naming throughout
- simplifies syncing compiled versions.
For a runtime environment, only need these directories:
bin/
etc/
lib/
Rationale:
Treat 3rd-party mpi libraries like any other 3rd-party library. They
are normally available without debugging and don't know anything
about the OpenFOAM DP/SP (double/single precision) concept.
old: $WM_THIRD_PARTY_DIR/<packageName>/platforms/$WM_ARCH*
new: $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH*/<packageName>
This streamlines the creation of binary packs, eases distribution and
helps when testing the robustness of relocatable installations.
According to the openmpi release information:
- Use GNU Libtool 2.2.6b to build Open MPI, which updates the
embedded "libltdl" library to fix a potential security
vulnerability. There are no other changes compared to Open MPI
v1.3.4.
For development purposes it should thus be adequate to simply
( cd $WM_THIRD_PARTY_DIR && mv openmpi-1.3.4 openmpi-1.4 )
if you don't wish to recompile things.
- compile into linux64Gcc44, linuxGcc44 to avoid clashes during testing
- continue to use gmp-4.2.4 since gmp-4.3.x might be miscompiled with
a system gcc-4.3.2
- useful location for sharing in-house solvers, libraries, etc
for use at the entire site
- similar naming convention as ~OpenFOAM expansion:
FOAM_SITE_APPBIN=
$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
FOAM_SITE_LIBBIN=
$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
- added rules for gcc-4.3 in preparation for switching to gcc-4.4
- added 'clean' target for wmake/src/Makefile
It is probably reasonable to separate the binaries from the rules (TODO)