ThirdParty packages: enable using system installed packages instead of the packages fetched through external source tarballs

This commit is contained in:
Martin Beaudoin 2010-12-08 21:28:32 -05:00
parent bd536a5d53
commit 36ca67ef7c
26 changed files with 847 additions and 289 deletions

View file

@ -62,11 +62,16 @@ echo Starting ThirdParty AllMake: Stage2
echo ======================================== echo ========================================
echo echo
# MPI if [ "$WM_MPLIB" != "SYSTEMOPENMPI" ]
#( rpm_make openmpi-1.4.1 http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.1.tar.gz ) then
( rpm_make openmpi-1.4.3 http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.gz ) # MPI
#( rpm_make openmpi-1.5 http://www.open-mpi.org/software/ompi/v1.5/downloads/openmpi-1.5.tar.gz ) #( rpm_make openmpi-1.4.1 http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.1.tar.gz )
( rpm_make openmpi-1.4.3 http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.gz )
#( rpm_make openmpi-1.5 http://www.open-mpi.org/software/ompi/v1.5/downloads/openmpi-1.5.tar.gz )
else
echo "Using system installed OpenMPI"
echo ""
fi
echo ======================================== echo ========================================
echo Done ThirdParty AllMake: Stage2 echo Done ThirdParty AllMake: Stage2
echo ======================================== echo ========================================

View file

@ -57,16 +57,40 @@ echo ========================================
echo echo
# Metis # Metis
( rpm_make metis-5.0pre2 http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.0pre2.tar.gz ) if [ -z "$METIS_SYSTEM" ]
then
( rpm_make metis-5.0pre2 http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.0pre2.tar.gz )
else
echo "Using system installed Metis"
echo ""
fi
# ParMGridGen # ParMGridGen
( rpm_make ParMGridGen-1.0 http://www.mgnet.org/mgnet/Codes/parmgridgen/ParMGridGen-1.0.tar.gz ) if [ -z "$PARMGRIDGEN_SYSTEM" ]
then
( rpm_make ParMGridGen-1.0 http://www.mgnet.org/mgnet/Codes/parmgridgen/ParMGridGen-1.0.tar.gz )
else
echo "Using system installed ParMGridGen"
echo ""
fi
# Libccmio # Libccmio
#( rpm_make libccmio-2.6.1 ) #if [ -z "$LIBCCMIO_SYSTEM" ]
#then
# ( rpm_make libccmio-2.6.1 )
#else
# echo "Using system installed Libccmio"
# echo ""
#fi
# Mesquite # Mesquite
( rpm_make mesquite-2.1.2 http://software.sandia.gov/~jakraft/mesquite-2.1.2.tar.gz ) if [ -z "$MESQUITE_SYSTEM" ]
then
( rpm_make mesquite-2.1.2 http://software.sandia.gov/~jakraft/mesquite-2.1.2.tar.gz )
else
echo "Using system installed Mesquite"
echo ""
fi
# The following two packages depends on the availability of OpenMPI # The following two packages depends on the availability of OpenMPI
# The macro rpm_make() will make sure to update the ThirdParty environment variables before starting # The macro rpm_make() will make sure to update the ThirdParty environment variables before starting
@ -75,10 +99,22 @@ echo
# the AllMake.stage2 script completed correctly # the AllMake.stage2 script completed correctly
# #
# Scotch # Scotch
( rpm_make scotch-5.1.10b https://gforge.inria.fr/frs/download.php/27583/scotch-5.1.10b.tar.gz ) if [ -z "$SCOTCH_SYSTEM" ]
then
( rpm_make scotch-5.1.10b https://gforge.inria.fr/frs/download.php/27583/scotch-5.1.10b.tar.gz )
else
echo "Using system installed Scotch"
echo ""
fi
# ParMetis # ParMetis
( rpm_make ParMetis-3.1.1 http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/ParMetis-3.1.1.tar.gz ) if [ -z "$PARMETIS_SYSTEM" ]
then
( rpm_make ParMetis-3.1.1 http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/ParMetis-3.1.1.tar.gz )
else
echo "Using system installed ParMetis"
echo ""
fi
echo ======================================== echo ========================================
echo Done ThirdParty AllMake: Stage3 echo Done ThirdParty AllMake: Stage3

View file

@ -57,19 +57,34 @@ echo ========================================
echo echo
# qt-everywhere-opensource-src-4.7.0 # qt-everywhere-opensource-src-4.7.0
#( rpm_make qt-everywhere-opensource-src-4.7.0 http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0.tar.gz ) if [ ! -z "$QT_THIRD_PARTY" ]
# paraview
if [ -d "$QT_DIR" -a -r "$QT_DIR"/bin/qmake ]
then then
( rpm_make ParaView-3.8.1 http://www.paraview.org/files/v3.8/ParaView-3.8.1.tar.gz \ ( rpm_make qt-everywhere-opensource-src-4.7.0 http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0.tar.gz )
-D '_qmakePath $QT_DIR/bin/qmake'
)
else else
echo "WARNING: Skipping the installation of ParaView-3.8.1." echo "Using system installed QT"
echo "WARNING: Please initialize the QT_DIR environment variable to your QT installation directory." echo ""
echo "WARNING: The command \$QT_DIR/bin/qmake needs to be valid" fi
echo "WARNING: "
# Paraview
if [ -z "$PARAVIEW_SYSTEM" ]
then
if [ -d "$QT_BIN_DIR" -a -r "$QT_BIN_DIR"/qmake ]
then
( rpm_make ParaView-3.8.1 http://www.paraview.org/files/v3.8/ParaView-3.8.1.tar.gz \
-D '_qmakePath $QT_BIN_DIR/qmake'
)
else
echo "WARNING: "
echo "WARNING: Skipping the installation of ParaView-3.8.1."
echo "WARNING: Please make sure the QT_BIN_DIR environment variable properly"
echo "WARNING: initialized in the file prefs.sh or prefs.csh"
echo "WARNING: The command \$QT_BIN_DIR/qmake needs to be valid"
echo "WARNING: "
fi
else
echo "Using system installed ParaView"
echo ""
fi fi
echo ======================================== echo ========================================

View file

@ -1,103 +1,175 @@
A new design for the ThirdParty packages: A new design for the ThirdParty packages:
========================================= =========================================
The main purpose of this new development is to build a complete ThirParty packages set for OpenFOAM 1.6-ext using only the original package source The main purpose of this new development is to build a complete ThirParty
packages set for OpenFOAM 1.6-ext using only the original package source
tarball and some patch files ( when necessary). tarball and some patch files ( when necessary).
A useful by-product of this development is also to provide some kind of binary packaging of the ThirdParty packages. A useful by-product of this development is also to provide some kind of binary
packaging of the ThirdParty packages.
The RPM suite of tools was selected to develop a first prototype. The RPM suite of tools was selected to develop a first prototype.
The whole process needs to run and install in user-space, without the need to be root for installing the packages. The whole process needs to run and install in user-space, without the need to
be root for installing the packages.
Here is what's available: Here is what's available:
a: A set of rpm spec files for specific ThirdParty packages. a: A set of rpm spec files for specific ThirdParty packages.
b: A suite of bash scripts to automate the complete sequence of downloading, compiling, installing and generating RPMs. b: A suite of bash scripts to automate the complete sequence of downloading,
c: An empty directory structure pre-configured and ready to proceed with the download, compilation and installation of compiling, installing and generating RPMs.
chosen ThirdParty packages for OF-1.6-ext. c: An empty directory structure pre-configured and ready to proceed with the
download, compilation and installation of chosen ThirdParty packages for
OF-1.6-ext.
d: A simple mecanism that allows replacing any of the ThirdParty packages by
a system installed package instead.
Quick description of the main scripts: Quick description of the main scripts:
-------------------------------------- --------------------------------------
a: AllMake: a: AllMake:
Main wrapper script that will call AllMake.stage0 to AllMake.stage4 scripts in sequence. Main wrapper script that will call AllMake.stage0 to AllMake.stage4
scripts in sequence.
b: AllMake.stage0: b: AllMake.stage0:
This script is useful only for populating what I am calling the local "RPM vault" with pre-generated RPMs. This script is useful only for populating what I am calling the local
This is the script written to address the use-case: "I have some pre-generated RPM files, now what" "RPM vault" with pre-generated RPMs. This is the script written to
Basically, you call this script with a list of RPMs generated by the AllMake.stage(1-4) in order to populate the local RPMS vault. address the use-case: "I have some pre-generated RPM files, now what"
Once in place, these are the RPMs will be installed instead of proceeding with the standard compilation process. Basically, you call this script with a list of RPMs generated by the
AllMake.stage(1-4) in order to populate the local RPMS vault.
Once in place, these are the RPMs will be installed instead of
proceeding with the standard compilation process.
c: AllMake.stage1: c: AllMake.stage1:
This script is taking care of the basic ThirdParty tools like compilers, cmake , python, etc. This script is taking care of the basic ThirdParty tools like compilers,
If we ever need to override the local version of flex or bison, this is where we will add those additional packages. cmake , python, etc. If we ever need to override the local version of
This stage will also generate a .sh and .csh file one needs to source in order to initialize the PATH and LD_LIBRARY_PATH env. variable. flex or bison, this is where we will add those additional packages.
If you need to compile the rest of the ThirdParty packages with a new gcc compiler, you will need to source those .sh or .csh file in before activating the other This stage will also generate a .sh and .csh file one needs to source in
AllMake.stage(2-4) scripts. order to initialize the PATH and LD_LIBRARY_PATH env. variable. If you
need to compile the rest of the ThirdParty packages with a new gcc
compiler, you will need to source those .sh or .csh file in before
activating the other AllMake.stage(2-4) scripts.
d: AllMake.stage2: d: AllMake.stage2:
This script is taking care of the MPI communication libraries. Right now, only OpenMPI is supported. This script is taking care of the MPI communication libraries. Right
This stage will also generate a .sh and .csh file one needs to source in order to initialize the PATH and LD_LIBRARY_PATH env. variable. now, only OpenMPI is supported.
You will need to source those .sh or .csh file in before activating the other AllMake.stage(3-4) scripts because some packages depends on the communication library. This stage will also generate a .sh and .csh file one needs to source in
order to initialize the PATH and LD_LIBRARY_PATH env. variable. You will
need to source those .sh or .csh file in before activating the other
AllMake.stage(3-4) scripts because some packages depends on the
communication library.
e: AllMake.stage3: e: AllMake.stage3:
This script is taking care of the "standard" ThirdParty libraries like metis, scotch, mesquite, etc. This script is taking care of the "standard" ThirdParty libraries like
This stage will also generate a .sh and .csh file one needs to source in order to initialize the PATH and LD_LIBRARY_PATH env. variable. metis, scotch, mesquite, etc.
You will need to source those .sh or .csh file in before compiling OpenFOAM because some "Make/options" files will refer to environment variable that are This stage will also generate a .sh and .csh file one needs to source in
specific to those packages order to initialize the PATH and LD_LIBRARY_PATH env. variable. You will
need to source those .sh or .csh file in before compiling OpenFOAM
because some "Make/options" files will refer to environment variable
that are specific to those packages
f: AllMake.stage4: f: AllMake.stage4:
This script is taking care of Paraview and QT (and takes an awfull long time to compile, honest...). This script is taking care of Paraview and QT (and takes an awfull long
This stage will also generate a .sh and .csh file one needs to source in order to initialize the PATH and LD_LIBRARY_PATH env. variable. time to compile, honest...).
You will need to source those .sh or .csh file in before compiling OpenFOAM because some "Make/options" files will refer to environment variable that are specific to those packages This stage will also generate a .sh and .csh file one needs to source in
order to initialize the PATH and LD_LIBRARY_PATH env. variable. You will
need to source those .sh or .csh file in before compiling OpenFOAM
because some "Make/options" files will refer to environment variable
that are specific to those packages
g: tools/makeThirdPartyFunctionsForRPM: g: tools/makeThirdPartyFunctionsForRPM:
A suite of bash functions useful for wrapping the rpmbuild and rpm commands A suite of bash functions useful for wrapping the rpmbuild and rpm
commands
For every packages, this is the basic process we will be going through when starting building the ThirdParty packages from scratch:: For every packages, this is the basic process we will be going through when
a: Verify in the local "RPM vault" if a RPM is available for a given package starting building the ThirdParty packages from scratch:
a: Verify in the local "RPM vault" if a RPM is available for a given
package
b: If it is, simply install this RPM and move on to the next package b: If it is, simply install this RPM and move on to the next package
c: if the RPM is absent: c: if the RPM is absent:
i: verify if the source tarbal is available from the SOURCES "vault" i: verify if the source tarbal is available from the SOURCES "vault"
ii: if it is not, download the tarball using the specified URL. ii: if it is not, download the tarball using the specified URL.
iii: proceed with the extraction, patching, configuration, compilation, RPM generation and installation of the package. The generated RPM is always used for installation. iii: proceed with the extraction, patching, configuration,
d: The default installation root directory is "$WM_THIRD_PARTY_DIR". This can be overriden though when installing the RPM. compilation, RPM generation and installation of the package. The
generated RPM is always used for installation.
d: The default installation root directory is "$WM_THIRD_PARTY_DIR". This
can be overriden though when installing the RPM.
Relocating the RPM root installation directory: Relocating the RPM root installation directory:
a: All the generated RPMs can be relocated, meaning that you can override the hard-coded root installation directory when using those RPMs for installation. a: All the generated RPMs can be relocated, meaning that you can override
b: You can check that the RPM is relocatable by using the command rpm -qip thePackage.rpm. For example, from the cmake-2.8.3 package generated on one of my machine: the hard-coded root installation directory when using those RPMs for
installation.
b: You can check that the RPM is relocatable by using the command rpm -qip
thePackage.rpm. For example, from the cmake-2.8.3 package generated on
one of my machine:
> rpm -qip cmake-2.8.3-darwinIntelGccDPOpt.i386.rpm| grep Relocations > rpm -qip cmake-2.8.3-darwinIntelGccDPOpt.i386.rpm| grep Relocations
Name : cmake Relocations: /Users/beaudoin/Projets/SAMH/OpenFOAM/ThirdParty-1.6-ext-RPM-based Name : cmake
Relocations: /Users/beaudoin/Projets/SAMH/OpenFOAM/ThirdParty-1.6-ext-RPM-based
The Relocations path is the actual location pointed by the $WM_THIRD_PARTY_DIR on my laptop when I generated the RPM. The Relocations path is the actual location pointed by the
It is the indication that the RPM is relocatable $WM_THIRD_PARTY_DIR on my laptop when I generated the RPM.
This path will turn to be hardcoded in the RPM because the environment variable was expanded before generating the RPM.. It is the indication that the RPM is relocatable. This path will turn to
This is the default root directory where the RPM will install its "payload" be hardcoded in the RPM because the environment variable was expanded
This can be overridden using the 'rpm' command-line parameter --relocate OLDPATH=NEWPATH . before generating the RPM. This is the default root directory where the
RPM will install its "payload". This can be overridden using the 'rpm'
command-line parameter --relocate OLDPATH=NEWPATH .
For example, let's say you want to install the RPM under the root directory /tmp/someDir instead, you will call the 'rpm' command like this: For example, let's say you want to install the RPM under the root
directory /tmp/someDir instead, you will call the 'rpm' command like this:
rpm -ivh ./cmake-2.8.3-darwinIntelGccDPOpt.i386.rpm --relocate /Users/beaudoin/Projets/SAMH/OpenFOAM/ThirdParty-1.6-ext-RPM-based=/tmp/someDir rpm -ivh ./cmake-2.8.3-darwinIntelGccDPOpt.i386.rpm \
--relocate /Users/beaudoin/Projets/SAMH/OpenFOAM/ThirdParty-1.6-ext-RPM-based=/tmp/someDir
Even better, you can dig down the hard-coded path even deeper in order to relocate the whole installation directory, down to the last hard-coded subdirectory. Even better, you can dig down the hard-coded path even deeper in order to
relocate the whole installation directory, down to the last hard-coded
subdirectory.
Just specify the whole path when using the --relocate parameter Just specify the whole path when using the --relocate parameter
So basically, you can install the RPM right under /usr if you want, hence bypassing the default sequence of package subdirectories I have chosen in order to stay So basically, you can install the RPM right under /usr if you want, hence
close to the "traditional" ThirdParty layout. bypassing the default sequence of package subdirectories I have chosen in
order to stay close to the "traditional" ThirdParty layout.
9: Using system installed package
It is possible to replace most of the ThirdParty packages by a system
installed version simply by activating some specific environment variables
in your file prefs.sh or prefs.csh.
The files prefs.csh-EXAMPLE and prefs.sh-EXAMPLE provides a list of
environment variables you need to activate in order to use a system
installed version of a given package.
For example, in order to use a system installed version of Scotch, here is
the list of environment variable you must declare in your etc/prefs.sh file
# System installed Scotch
export SCOTCH_SYSTEM=1
export SCOTCH_DIR=path_to_system_installed_scotch
export SCOTCH_BIN_DIR=$SCOTCH_DIR/bin
export SCOTCH_LIB_DIR=$SCOTCH_DIR/lib
export SCOTCH_INCLUDE_DIR=$SCOTCH_DIR/include
When the XXXX_SYSTEM environment variable is activated for package XXXX,
the compilation and installation from the source tarball of the ThirdParty
package will be skipped. Just make sure all the necessary package specific
environment variables are properly initialized, and that the system
installed version of the package is compatible with the version made
available through the source tarball.
9: Things to do: 10: Things to do:
a: Testing testing testing. This prototype was tested on the following platforms: a: Testing testing testing. This prototype was tested on the following
platforms:
Mac OS X 10.6 (Snow Leopard) (non RPM based) Mac OS X 10.6 (Snow Leopard) (non RPM based)
Ubuntu 10.04 32bit (non RPM based) Ubuntu 10.04 32bit (non RPM based)
Centos 5.5 64bit (RPM based) Centos 5.5 64bit (RPM based)
OpenSUSE 11.3 64bit (RPM based) OpenSUSE 11.3 64bit (RPM based)
b: Maybe adding some RPM dependencies might be useful. I have not explored this yet. b: Maybe adding some RPM dependencies might be useful. I have not explored
this yet.
To be continued... To be continued...
Martin Beaudoin Martin Beaudoin
Novembre 2010
Last update: December 2010

View file

@ -121,11 +121,13 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export PARMGRIDGEN_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export PARMGRIDGEN_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export PARMGRIDGEN_BIN_DIR=\$PARMGRIDGEN_DIR/bin
export PARMGRIDGEN_LIB_DIR=\$PARMGRIDGEN_DIR/lib
export PARMGRIDGEN_INCLUDE_DIR=\$PARMGRIDGEN_DIR/include
[ -d \$PARMGRIDGEN_DIR/lib ] && _foamAddLib \$PARMGRIDGEN_DIR/lib # Enable access to the runtime package applications and libraries
[ -d \$PARMGRIDGEN_BIN_DIR ] && _foamAddPath \$PARMGRIDGEN_BIN_DIR
# Enable access to the package applications if present [ -d \$PARMGRIDGEN_LIB_DIR ] && _foamAddLib \$PARMGRIDGEN_LIB_DIR
[ -d \$PARMGRIDGEN_DIR/bin ] && _foamAddPath \$PARMGRIDGEN_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -135,13 +137,16 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv PARMGRIDGEN_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv PARMGRIDGEN_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv PARMGRIDGEN_BIN_DIR \$PARMGRIDGEN_DIR/bin
setenv PARMGRIDGEN_LIB_DIR \$PARMGRIDGEN_DIR/lib
setenv PARMGRIDGEN_INCLUDE_DIR \$PARMGRIDGEN_DIR/include
if ( -e \$PARMGRIDGEN_DIR/lib ) then if ( -e \$PARMGRIDGEN_BIN_DIR ) then
_foamAddLib \$PARMGRIDGEN_DIR/lib _foamAddPath \$PARMGRIDGEN_BIN_DIR
endif endif
if ( -e \$PARMGRIDGEN_DIR/bin ) then if ( -e \$PARMGRIDGEN_LIB_DIR ) then
_foamAddPath \$PARMGRIDGEN_DIR/bin _foamAddLib \$PARMGRIDGEN_LIB_DIR
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -127,11 +127,14 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export PARMETIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export PARMETIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export PARMETIS_BIN_DIR=\$PARMETIS_DIR/bin
export PARMETIS_LIB_DIR=\$PARMETIS_DIR/lib
export PARMETIS_INCLUDE_DIR=\$PARMETIS_DIR/include
[ -d \$PARMETIS_DIR/lib ] && _foamAddLib \$PARMETIS_DIR/lib # Enable access to the runtime package applications and libraries
[ -d \$PARMETIS_BIN_DIR ] && _foamAddPath \$PARMETIS_BIN_DIR
[ -d \$PARMETIS_LIB_DIR ] && _foamAddLib \$PARMETIS_LIB_DIR
# Enable access to the package applications if present
[ -d \$PARMETIS_DIR/bin ] && _foamAddPath \$PARMETIS_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -141,13 +144,16 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv PARMETIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv PARMETIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv PARMETIS_BIN_DIR \$PARMETIS_DIR/bin
setenv PARMETIS_LIB_DIR \$PARMETIS_DIR/lib
setenv PARMETIS_INCLUDE_DIR \$PARMETIS_DIR/include
if ( -e \$PARMETIS_DIR/lib ) then if ( -e \$PARMETIS_BIN_DIR ) then
_foamAddLib \$PARMETIS_DIR/lib _foamAddPath \$PARMETIS_BIN_DIR
endif endif
if ( -e \$PARMETIS_DIR/bin ) then if ( -e \$PARMETIS_LIB_DIR ) then
_foamAddPath \$PARMETIS_DIR/bin _foamAddLib \$PARMETIS_LIB_DIR
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -171,6 +171,16 @@ Patch0: ParaView-3.8.1.patch_darwin
make -j $WM_NCOMPPROCS make -j $WM_NCOMPPROCS
%install %install
# On OpenSUSE, rpmbuild, will choke when detecting unreferenced symlinks
# created during installation.
# Qt version 4.6.3 will generate some unreferenced symlinks when
# ParaView is compiled and installed. By enabling the following
# environment variable, the command brp-symlink will still complain
# about missing link targets, but it won't stop rpmbuild from generating
# the final rpm.
# For all other Unix distros, this is a no-op.
export NO_BRP_STALE_LINK_ERROR=yes
cd buildObj cd buildObj
make install make install
@ -188,6 +198,10 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export PARAVIEW_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export PARAVIEW_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export PARAVIEW_BIN_DIR=\$PARAVIEW_DIR/bin
export PARAVIEW_LIB_DIR=\$PARAVIEW_DIR/lib
export PARAVIEW_INCLUDE_DIR=\$PARAVIEW_DIR/include
export PARAVIEW_VERSION=%{version} export PARAVIEW_VERSION=%{version}
# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins. # NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
@ -197,15 +211,15 @@ export PARAVIEW_VERSION=%{version}
# startup of paraview or even make paraview crash on startup. # startup of paraview or even make paraview crash on startup.
export PV_PLUGIN_PATH=\$FOAM_LIBBIN/paraview_plugins export PV_PLUGIN_PATH=\$FOAM_LIBBIN/paraview_plugins
[ -d \$PARAVIEW_DIR/lib/paraview-3.8 ] && _foamAddLib \$PARAVIEW_DIR/lib/paraview-3.8 [ -d \$PARAVIEW_LIB_DIR/paraview-3.8 ] && _foamAddLib \$PARAVIEW_LIB_DIR/paraview-3.8
# Enable access to the package applications if present # Enable access to the package applications if present
[ -d \$PARAVIEW_DIR/bin ] && _foamAddPath \$PARAVIEW_DIR/bin [ -d \$PARAVIEW_BIN_DIR ] && _foamAddPath \$PARAVIEW_BIN_DIR
if [ "$WM_ARCH" == "darwinIntel" ] if [ "$WM_ARCH" == "darwinIntel" ]
then then
# Additional binary path is running on Mac OS X # Additional binary path is running on Mac OS X
[ -d \$PARAVIEW_DIR/bin/paraview.app/Contents/MacOS ] && _foamAddPath \$PARAVIEW_DIR/bin/paraview.app/Contents/MacOS [ -d \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ] && _foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
fi fi
DOT_SH_EOF DOT_SH_EOF
@ -216,6 +230,10 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv PARAVIEW_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv PARAVIEW_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv PARAVIEW_BIN_DIR \$PARAVIEW_DIR/bin
setenv PARAVIEW_LIB_DIR \$PARAVIEW_DIR/lib
setenv PARAVIEW_INCLUDE_DIR \$PARAVIEW_INCLUDE_DIR/include
setenv PARAVIEW_VERSION %{version} setenv PARAVIEW_VERSION %{version}
# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins. # NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
@ -225,17 +243,18 @@ setenv PARAVIEW_VERSION %{version}
# startup of paraview or even make paraview crash on startup. # startup of paraview or even make paraview crash on startup.
setenv PV_PLUGIN_PATH \$FOAM_LIBBIN/paraview_plugins setenv PV_PLUGIN_PATH \$FOAM_LIBBIN/paraview_plugins
if ( -e \$PARAVIEW_DIR/lib/paraview-3.8 ) then if ( -e \$PARAVIEW_BIN_DIR ) then
_foamAddLib \$PARAVIEW_DIR/lib/paraview-3.8 _foamAddPath \$PARAVIEW_BIN_DIR
endif endif
if ( -e \$PARAVIEW_DIR/bin ) then if ( -e \$PARAVIEW_LIB_DIR/paraview-3.8 ) then
_foamAddPath \$PARAVIEW_DIR/bin _foamAddLib \$PARAVIEW_LIB_DIR/paraview-3.8
endif endif
# Additional binary path is running on Mac OS X # Additional binary path is running on Mac OS X
if ( -e \$PARAVIEW_DIR/bin/paraview.app/Contents/MacOS ) then if ( -e \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ) then
_foamAddPath \$PARAVIEW_DIR/bin/paraview.app/Contents/MacOS _foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -115,11 +115,10 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export PYTHON_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export PYTHON_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export PYTHON_BIN_DIR=\$PYTHON_DIR/bin
[ -d \$PYTHON_DIR/lib ] && _foamAddLib \$PYTHON_DIR/lib # Enable access to the runtime package applications
[ -d \$PYTHON_BIN_DIR ] && _foamAddPath \$PYTHON_BIN_DIR
# Enable access to the package applications if present
[ -d \$PYTHON_DIR/bin ] && _foamAddPath \$PYTHON_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -129,13 +128,10 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv PYTHON_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv PYTHON_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv PYTHON_BIN_DIR \$PYTHON_DIR/bin
if ( -e \$PYTHON_DIR/lib ) then if ( -e \$PYTHON_BIN_DIR ) then
_foamAddLib \$PYTHON_DIR/lib _foamAddPath \$PYTHON_BIN_DIR
endif
if ( -e \$PYTHON_DIR/bin ) then
_foamAddPath \$PYTHON_DIR/bin
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -115,11 +115,10 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export CMAKE_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export CMAKE_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export CMAKE_BIN_DIR=\$CMAKE_DIR/bin
[ -d \$CMAKE_DIR/lib ] && _foamAddLib \$CMAKE_DIR/lib # Enable access to the runtime package applications
[ -d \$CMAKE_BIN_DIR ] && _foamAddPath \$CMAKE_BIN_DIR
# Enable access to the package applications if present
[ -d \$CMAKE_DIR/bin ] && _foamAddPath \$CMAKE_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -129,13 +128,10 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv CMAKE_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv CMAKE_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv CMAKE_BIN_DIR \$CMAKE_DIR/bin
if ( -e \$CMAKE_DIR/lib ) then if ( -e \$CMAKE_BIN_DIR ) then
_foamAddLib \$CMAKE_DIR/lib _foamAddPath \$CMAKE_BIN_DIR
endif
if ( -e \$CMAKE_DIR/bin ) then
_foamAddPath \$CMAKE_DIR/bin
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -127,11 +127,13 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export MESQUITE_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export MESQUITE_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export MESQUITE_BIN_DIR=\$MESQUITE_DIR/bin
export MESQUITE_LIB_DIR=\$MESQUITE_DIR/lib
export MESQUITE_INCLUDE_DIR=\$MESQUITE_DIR/include
[ -d \$MESQUITE_DIR/lib ] && _foamAddLib \$MESQUITE_DIR/lib # Enable access to the package runtime applications and libraries
[ -d \$MESQUITE_BIN_DIR ] && _foamAddPath \$MESQUITE_BIN_DIR
# Enable access to the package applications if present [ -d \$MESQUITE_LIB_DIR ] && _foamAddLib \$MESQUITE_LIB_DIR
[ -d \$MESQUITE_DIR/bin ] && _foamAddPath \$MESQUITE_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -141,13 +143,16 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv MESQUITE_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv MESQUITE_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv MESQUITE_BIN_DIR \$MESQUITE_DIR/bin
setenv MESQUITE_LIB_DIR \$MESQUITE_DIR/lib
setenv MESQUITE_INCLUDE_DIR \$MESQUITE_DIR/include
if ( -e \$MESQUITE_DIR/lib ) then if ( -e \$MESQUITE_BIN_DIR ) then
_foamAddLib \$MESQUITE_DIR/lib _foamAddPath \$MESQUITE_BIN_DIR
endif endif
if ( -e \$MESQUITE_DIR/bin ) then if ( -e \$MESQUITE_LIB_DIR ) then
_foamAddPath \$MESQUITE_DIR/bin _foamAddLib \$MESQUITE_LIB_DIR
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -128,11 +128,14 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export METIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export METIS_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export METIS_BIN_DIR=\$METIS_DIR/bin
export METIS_LIB_DIR=\$METIS_DIR/lib
export METIS_INCLUDE_DIR=\$METIS_DIR/include
[ -d \$METIS_DIR/lib ] && _foamAddLib \$METIS_DIR/lib # Enable access to the package runtime applications and libraries
[ -d \$METIS_BIN_DIR ] && _foamAddPath \$METIS_BIN_DIR
[ -d \$METIS_LIB_DIR ] && _foamAddLib \$METIS_LIB_DIR
# Enable access to the package applications if present
[ -d \$METIS_DIR/bin ] && _foamAddPath \$METIS_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -142,13 +145,16 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv METIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv METIS_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv METIS_BIN_DIR \$METIS_DIR/bin
setenv METIS_LIB_DIR \$METIS_DIR/lib
setenv METIS_INCLUDE_DIR \$METIS_DIR/include
if ( -e \$METIS_DIR/lib ) then if ( -e \$METIS_BIN_DIR ) then
_foamAddLib \$METIS_DIR/lib _foamAddPath \$METIS_BIN_DIR
endif endif
if ( -e \$METIS_DIR/bin ) then if ( -e \$METIS_LIB_DIR ) then
_foamAddPath \$METIS_DIR/bin _foamAddLib \$METIS_LIB_DIR
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -134,32 +134,94 @@ Group: Development/Tools
# #
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export OPENMPI_DIR=\$WM_THIRD_PARTY_DIR/packages/openmpi-1.4.3/platforms/\$WM_OPTIONS
export OPENMPI_BIN_DIR=\$OPENMPI_DIR/bin
export OPENMPI_LIB_DIR=\$OPENMPI_DIR/lib
export OPENMPI_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS # Enable access to the package runtime applications and libraries
[ -d \$OPENMPI_BIN_DIR ] && _foamAddPath \$OPENMPI_BIN_DIR
[ -d \$OPENMPI_LIB_DIR ] && _foamAddLib \$OPENMPI_LIB_DIR
[ -d \$OPENMPI_DIR/lib ] && _foamAddLib \$OPENMPI_DIR/lib export MPI_HOME=\$OPENMPI_DIR
export MPI_ARCH_PATH=\$MPI_HOME
export OPAL_PREFIX=\$MPI_ARCH_PATH
# Enable access to the package applications if present # We initialize the rest of the environment using mpicc --showme:
[ -d \$OPENMPI_DIR/bin ] && _foamAddPath \$OPENMPI_DIR/bin export OPENMPI_INCLUDE_DIR="\`mpicc --showme:incdirs\`"
export OPENMPI_COMPILE_FLAGS="\`mpicc --showme:compile\`"
export OPENMPI_LINK_FLAGS="\`mpicc --showme:link\`"
# Set the OpenFOAM compilation flags
export PINC=\$OPENMPI_COMPILE_FLAGS
export PLIBS=\$OPENMPI_LINK_FLAGS
if [ "\$FOAM_VERBOSE" -a "\$PS1" ]
then
echo "Using system installed OpenMPI:"
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : \$MPI_HOME"
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
echo " OPAL_PREFIX : \$OPAL_PREFIX"
echo " PINC : \$PINC"
echo " PLIBS : \$PLIBS"
fi
DOT_SH_EOF DOT_SH_EOF
# #
# Generate package specific .csh file for OpenFOAM # Generate package specific .csh file for OpenFOAM
# #
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv OPENMPI_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv OPENMPI_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv OPENMPI_BIN_DIR \$OPENMPI_DIR/bin
setenv OPENMPI_LIB_DIR \$OPENMPI_DIR/lib
if ( -e \$OPENMPI_DIR/lib ) then # Enable access to the package runtime applications and libraries
_foamAddLib \$OPENMPI_DIR/lib if ( -e \$OPENMPI_BIN_DIR ) then
_foamAddPath \$OPENMPI_BIN_DIR
endif endif
if ( -e \$OPENMPI_DIR/bin ) then if ( -e \$OPENMPI_LIB_DIR ) then
_foamAddPath \$OPENMPI_DIR/bin _foamAddLib \$OPENMPI_LIB_DIR
endif endif
setenv MPI_HOME \$OPENMPI_DIR
setenv MPI_ARCH_PATH \$MPI_HOME
setenv OPAL_PREFIX \$MPI_ARCH_PATH
# We initialize the rest of the environment using mpicc --showme:
setenv OPENMPI_INCLUDE_DIR "\`mpicc --showme:incdirs\`"
setenv OPENMPI_COMPILE_FLAGS "\`mpicc --showme:compile\`"
setenv OPENMPI_LINK_FLAGS "\`mpicc --showme:link\`"
# Set the OpenFOAM compilation flags
setenv PINC \$OPENMPI_COMPILE_FLAGS
setenv PLIBS \$OPENMPI_LINK_FLAGS
if (\$?FOAM_VERBOSE && \$?prompt) then
echo "Using system installed OpenMPI:"
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : \$MPI_HOME"
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
echo " OPAL_PREFIX : \$OPAL_PREFIX"
echo " PINC : \$PINC"
echo " PLIBS : \$PLIBS"
fi
DOT_CSH_EOF DOT_CSH_EOF
%clean %clean

View file

@ -134,32 +134,94 @@ Group: Development/Tools
# #
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export OPENMPI_DIR=\$WM_THIRD_PARTY_DIR/packages/openmpi-1.5/platforms/\$WM_OPTIONS
export OPENMPI_BIN_DIR=\$OPENMPI_DIR/bin
export OPENMPI_LIB_DIR=\$OPENMPI_DIR/lib
export OPENMPI_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS # Enable access to the package runtime applications and libraries
[ -d \$OPENMPI_BIN_DIR ] && _foamAddPath \$OPENMPI_BIN_DIR
[ -d \$OPENMPI_LIB_DIR ] && _foamAddLib \$OPENMPI_LIB_DIR
[ -d \$OPENMPI_DIR/lib ] && _foamAddLib \$OPENMPI_DIR/lib export MPI_HOME=\$OPENMPI_DIR
export MPI_ARCH_PATH=\$MPI_HOME
export OPAL_PREFIX=\$MPI_ARCH_PATH
# Enable access to the package applications if present # We initialize the rest of the environment using mpicc --showme:
[ -d \$OPENMPI_DIR/bin ] && _foamAddPath \$OPENMPI_DIR/bin export OPENMPI_INCLUDE_DIR="\`mpicc --showme:incdirs\`"
export OPENMPI_COMPILE_FLAGS="\`mpicc --showme:compile\`"
export OPENMPI_LINK_FLAGS="\`mpicc --showme:link\`"
# Set the OpenFOAM compilation flags
export PINC=\$OPENMPI_COMPILE_FLAGS
export PLIBS=\$OPENMPI_LINK_FLAGS
if [ "\$FOAM_VERBOSE" -a "\$PS1" ]
then
echo "Using system installed OpenMPI:"
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : \$MPI_HOME"
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
echo " OPAL_PREFIX : \$OPAL_PREFIX"
echo " PINC : \$PINC"
echo " PLIBS : \$PLIBS"
fi
DOT_SH_EOF DOT_SH_EOF
# #
# Generate package specific .csh file for OpenFOAM # Generate package specific .csh file for OpenFOAM
# #
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv OPENMPI_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv OPENMPI_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv OPENMPI_BIN_DIR \$OPENMPI_DIR/bin
setenv OPENMPI_LIB_DIR \$OPENMPI_DIR/lib
if ( -e \$OPENMPI_DIR/lib ) then # Enable access to the package runtime applications and libraries
_foamAddLib \$OPENMPI_DIR/lib if ( -e \$OPENMPI_BIN_DIR ) then
_foamAddPath \$OPENMPI_BIN_DIR
endif endif
if ( -e \$OPENMPI_DIR/bin ) then if ( -e \$OPENMPI_LIB_DIR ) then
_foamAddPath \$OPENMPI_DIR/bin _foamAddLib \$OPENMPI_LIB_DIR
endif endif
setenv MPI_HOME \$OPENMPI_DIR
setenv MPI_ARCH_PATH \$MPI_HOME
setenv OPAL_PREFIX \$MPI_ARCH_PATH
# We initialize the rest of the environment using mpicc --showme:
setenv OPENMPI_INCLUDE_DIR "\`mpicc --showme:incdirs\`"
setenv OPENMPI_COMPILE_FLAGS "\`mpicc --showme:compile\`"
setenv OPENMPI_LINK_FLAGS "\`mpicc --showme:link\`"
# Set the OpenFOAM compilation flags
setenv PINC \$OPENMPI_COMPILE_FLAGS
setenv PLIBS \$OPENMPI_LINK_FLAGS
if (\$?FOAM_VERBOSE && \$?prompt) then
echo "Using system installed OpenMPI:"
echo " OPENMPI_BIN_DIR : \$OPENMPI_BIN_DIR"
echo " OPENMPI_LIB_DIR : \$OPENMPI_LIB_DIR"
echo " OPENMPI_INCLUDE_DIR : \$OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : \$OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : \$OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : \$MPI_HOME"
echo " MPI_ARCH_PATH : \$MPI_ARCH_PATH"
echo " OPAL_PREFIX : \$OPAL_PREFIX"
echo " PINC : \$PINC"
echo " PLIBS : \$PLIBS"
fi
DOT_CSH_EOF DOT_CSH_EOF
%clean %clean

View file

@ -120,11 +120,10 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export QT_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export QT_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export QT_BIN_DIR=\$QT_DIR/bin
[ -d \$QT_DIR/lib ] && _foamAddLib \$QT_DIR/lib # Enable access to the runtime package applications
[ -d \$QT_BIN_DIR ] && _foamAddPath \$QT_BIN_DIR
# Enable access to the package applications if present
[ -d \$QT_DIR/bin ] && _foamAddPath \$QT_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -134,13 +133,10 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv QT_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv QT_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv QT_BIN_DIR \$QT_DIR/bin
if ( -e \$QT_DIR/lib ) then if ( -e \$QT_BIN_DIR ) then
_foamAddLib \$QT_DIR/lib _foamAddPath \$QT_BIN_DIR
endif
if ( -e \$QT_DIR/bin ) then
_foamAddPath \$QT_DIR/bin
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -125,11 +125,13 @@ cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export SCOTCH_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS export SCOTCH_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
export SCOTCH_BIN_DIR=\$SCOTCH_DIR/bin
export SCOTCH_LIB_DIR=\$SCOTCH_DIR/lib
export SCOTCH_INCLUDE_DIR=\$SCOTCH_DIR/include
[ -d \$SCOTCH_DIR/lib ] && _foamAddLib \$SCOTCH_DIR/lib # Enable access to the runtime package applications and libraries
[ -d \$SCOTCH_BIN_DIR ] && _foamAddPath \$SCOTCH_BIN_DIR
# Enable access to the package applications if present [ -d \$SCOTCH_LIB_DIR ] && _foamAddLib \$SCOTCH_LIB_DIR
[ -d \$SCOTCH_DIR/bin ] && _foamAddPath \$SCOTCH_DIR/bin
DOT_SH_EOF DOT_SH_EOF
# #
@ -139,13 +141,16 @@ cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.cs
# Load %{name}-%{version} libraries and binaries if available # Load %{name}-%{version} libraries and binaries if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv SCOTCH_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS setenv SCOTCH_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
setenv SCOTCH_BIN_DIR \$SCOTCH_DIR/bin
setenv SCOTCH_LIB_DIR \$SCOTCH_DIR/lib
setenv SCOTCH_INCLUDE_DIR \$SCOTCH_DIR/include
if ( -e \$SCOTCH_DIR/lib ) then if ( -e \$SCOTCH_BIN_DIR ) then
_foamAddLib \$SCOTCH_DIR/lib _foamAddPath \$SCOTCH_BIN_DIR
endif endif
if ( -e \$SCOTCH_DIR/bin ) then if ( -e \$SCOTCH_LIB_DIR ) then
_foamAddPath \$SCOTCH_DIR/bin _foamAddLib \$SCOTCH_LIB_DIR
endif endif
DOT_CSH_EOF DOT_CSH_EOF

View file

@ -2,7 +2,7 @@ EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(PARAVIEW_DIR)/include/paraview-3.8 \ -I$(PARAVIEW_INCLUDE_DIR)/paraview-3.8 \
-I../PV3FoamReader -I../PV3FoamReader
LIB_LIBS = \ LIB_LIBS = \

View file

@ -117,7 +117,7 @@ setenv WM_COMPILER_LIB_ARCH
# Compilation options (architecture, precision, optimised, debug or profiling) # Compilation options (architecture, precision, optimised, debug or profiling)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv WM_NCOMPPROCS 8 setenv WM_NCOMPPROCS 2
# WM_ARCH_OPTION = 32 | 64 # WM_ARCH_OPTION = 32 | 64
if ( ! $?WM_ARCH_OPTION ) setenv WM_ARCH_OPTION 64 if ( ! $?WM_ARCH_OPTION ) setenv WM_ARCH_OPTION 64

View file

@ -40,13 +40,91 @@
## ~~~~~~~~~~~~~~~~~~~~~~~ ## ~~~~~~~~~~~~~~~~~~~~~~~
#set compilerInstall=system #set compilerInstall=system
## Specify system openmpi # Specify system openmpi
## ~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~
#
# Normally, you don't need to set more than these 3 env. variables
# The other openmpi related variables will be initialized using
# the command mpicc --showme:
#
#setenv WM_MPLIB SYSTEMOPENMPI #setenv WM_MPLIB SYSTEMOPENMPI
#setenv OPENMPI_DIR path_to_system_installed_openmpi
#setenv OPENMPI_BIN_DIR $OPENMPI_DIR/bin
#
#setenv OPENMPI_LIB_DIR "`$OPENMPI_BIN_DIR/mpicc --showme:libdirs`"
#setenv OPENMPI_INCLUDE_DIR "`$OPENMPI_BIN_DIR/mpicc --showme:incdirs`"
#setenv OPENMPI_COMPILE_FLAGS "`$OPENMPI_BIN_DIR/mpicc --showme:compile`"
#setenv OPENMPI_LINK_FLAGS "`$OPENMPI_BIN_DIR/mpicc --showme:link`"
# Specify system installed ThirdParty packages/libraries
# NB: The packages installed under $WM_THIRD_PARTY_DIR
# will always override these values.
# So build your ThirdParty directory accordingly.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# System installed Mesquite
#setenv MESQUITE_SYSTEM 1
#setenv MESQUITE_DIR path_to_system_installed_mesquite
#setenv MESQUITE_BIN_DIR $MESQUITE_DIR/bin
#setenv MESQUITE_LIB_DIR $MESQUITE_DIR/lib
#setenv MESQUITE_INCLUDE_DIR $MESQUITE_DIR/include
# System installed Metis
#setenv METIS_SYSTEM 1
#setenv METIS_DIR path_to_system_installed_metis
#setenv METIS_BIN_DIR $METIS_DIR/bin
#setenv METIS_LIB_DIR $METIS_DIR/lib
#setenv METIS_INCLUDE_DIR $METIS_DIR/include
# System installed ParMetis
#setenv PARMETIS_SYSTEM 1
#setenv PARMETIS_DIR path_to_system_installed_parmetis
#setenv PARMETIS_BIN_DIR $PARMETIS_DIR/bin
#setenv PARMETIS_LIB_DIR $PARMETIS_DIR/lib
#setenv PARMETIS_INCLUDE_DIR $PARMETIS_DIR/include
# System installed ParMGridgen
#setenv PARMGRIDGEN_SYSTEM 1
#setenv PARMGRIDGEN_DIR path_to_system_installed_parmgridgen
#setenv PARMGRIDGEN_BIN_DIR $PARMGRIDGEN_DIR/bin
#setenv PARMGRIDGEN_LIB_DIR $PARMGRIDGEN_DIR/lib
#setenv PARMGRIDGEN_INCLUDE_DIR $PARMGRIDGEN_DIR/include
# System installed Scotch
#setenv SCOTCH_SYSTEM 1
#setenv SCOTCH_DIR path_to_system_installed_scotch
#setenv SCOTCH_BIN_DIR $SCOTCH_DIR/bin
#setenv SCOTCH_LIB_DIR $SCOTCH_DIR/lib
#setenv SCOTCH_INCLUDE_DIR $SCOTCH_DIR/include
# System installed CMake
#setenv CMAKE_SYSTEM 1
#setenv CMAKE_DIR path_to_system_installed_cmake
#setenv CMAKE_BIN_DIR $CMAKE_DIR/bin
# System installed Python
#setenv PYTHON_SYSTEM 1
#setenv PYTHON_DIR path_to_system_installed_python
#setenv PYTHON_BIN_DIR $PYTHON_DIR/bin
# System installed Qt
# This is the only package we assume is system installed by default.
# So we don't use a variable called QT_SYSTEM, but instead a variable
# called QT_THIRD_PARTY in order to override to the ThirdParty QT
# package.
#setenv QT_THIRD_PARTY 1
#setenv QT_DIR path_to_system_installed_qt
#setenv QT_BIN_DIR $QT_DIR/bin
# System installed ParaView
#setenv PARAVIEW_SYSTEM 1
#setenv PARAVIEW_DIR path_to_system_installed_paraview
#setenv PARAVIEW_BIN_DIR $PARAVIEW_DIR/bin
# Specify ParaView version # Specify ParaView version
# ~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~
setenv ParaView_VERSION git # eg, cvs/git version #setenv ParaView_VERSION git # eg, cvs/git version
setenv ParaView_MAJOR 3.7 #setenv ParaView_MAJOR 3.7
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View file

@ -36,17 +36,96 @@
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
export FOAM_VERBOSE=1
# Specify system compiler # Specify system compiler
# ~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~
compilerInstall=system compilerInstall=system
# Specify system openmpi # Specify system openmpi
# ~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~
export WM_MPLIB=SYSTEMOPENMPI #
# Normally, you don't need to set more than these 3 env. variables
# The other openmpi related variables will be initialized using
# the command mpicc --showme:
#
#export WM_MPLIB=SYSTEMOPENMPI
#export OPENMPI_DIR=path_to_system_installed_openmpi
#export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin
#
#export OPENMPI_LIB_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:libdirs`"
#export OPENMPI_INCLUDE_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:incdirs`"
#export OPENMPI_COMPILE_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:compile`"
#export OPENMPI_LINK_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:link`"
# Specify system installed ThirdParty packages/libraries
# NB: The packages installed under $WM_THIRD_PARTY_DIR
# will always override these values.
# So build your ThirdParty directory accordingly.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# System installed Mesquite
#export MESQUITE_SYSTEM=1
#export MESQUITE_DIR=path_to_system_installed_mesquite
#export MESQUITE_BIN_DIR=$MESQUITE_DIR/bin
#export MESQUITE_LIB_DIR=$MESQUITE_DIR/lib
#export MESQUITE_INCLUDE_DIR=$MESQUITE_DIR/include
# System installed Metis
#export METIS_SYSTEM=1
#export METIS_DIR=path_to_system_installed_metis
#export METIS_BIN_DIR=$METIS_DIR/bin
#export METIS_LIB_DIR=$METIS_DIR/lib
#export METIS_INCLUDE_DIR=$METIS_DIR/include
# System installed ParMetis
#export PARMETIS_SYSTEM=1
#export PARMETIS_DIR=path_to_system_installed_parmetis
#export PARMETIS_BIN_DIR=$PARMETIS_DIR/bin
#export PARMETIS_LIB_DIR=$PARMETIS_DIR/lib
#export PARMETIS_INCLUDE_DIR=$PARMETIS_DIR/include
# System installed ParMGridgen
#export PARMGRIDGEN_SYSTEM=1
#export PARMGRIDGEN_DIR=path_to_system_installed_parmgridgen
#export PARMGRIDGEN_BIN_DIR=$PARMGRIDGEN_DIR/bin
#export PARMGRIDGEN_LIB_DIR=$PARMGRIDGEN_DIR/lib
#export PARMGRIDGEN_INCLUDE_DIR=$PARMGRIDGEN_DIR/include
# System installed Scotch
#export SCOTCH_SYSTEM=1
#export SCOTCH_DIR=path_to_system_installed_scotch
#export SCOTCH_BIN_DIR=$SCOTCH_DIR/bin
#export SCOTCH_LIB_DIR=$SCOTCH_DIR/lib
#export SCOTCH_INCLUDE_DIR=$SCOTCH_DIR/include
# System installed CMake
#export CMAKE_SYSTEM=1
#export CMAKE_DIR=path_to_system_installed_cmake
#export CMAKE_BIN_DIR=$CMAKE_DIR/bin
# System installed Python
#export PYTHON_SYSTEM=1
#export PYTHON_DIR=path_to_system_installed_python
#export PYTHON_BIN_DIR=$PYTHON_DIR/bin
# System installed Qt
# This is the only package we assume is system installed by default.
# So we don't use a variable called QT_SYSTEM, but instead a variable
# called QT_THIRD_PARTY in order to override to the ThirdParty QT
# package.
#export QT_THIRD_PARTY=1
#export QT_DIR=path_to_system_installed_qt
#export QT_BIN_DIR=$QT_DIR/bin
# System installed ParaView
#export PARAVIEW_SYSTEM=1
#export PARAVIEW_DIR=path_to_system_installed_paraview
#export PARAVIEW_BIN_DIR=$PARAVIEW_DIR/bin
# Specify ParaView version # Specify ParaView version
# ~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~
export ParaView_VERSION=git # eg, cvs/git version #export ParaView_VERSION=git # eg, cvs/git version
export ParaView_MAJOR=3.7 #export ParaView_MAJOR=3.7
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View file

@ -144,52 +144,122 @@ unset MPI_ARCH_PATH
switch ("$WM_MPLIB") switch ("$WM_MPLIB")
case OPENMPI: case OPENMPI:
if (-e $WM_THIRD_PARTY_DIR/packages/openmpi-1.4.3 ) then if (-d $WM_THIRD_PARTY_DIR/packages/openmpi-1.4.3 ) then
set mpi_version=openmpi-1.4.3 set mpi_version=openmpi-1.4.3
if ($?FOAM_VERBOSE && $?prompt) then
echo "Using openmpi-1.4.3 from the ThirdParty package: $WM_THIRD_PARTY_DIR/packages/$mpi_version"
endif
_foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.csh _foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.csh
setenv MPI_HOME $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS else if (-d $WM_THIRD_PARTY_DIR/packages/openmpi-1.5 ) then
setenv MPI_ARCH_PATH $MPI_HOME set mpi_version=openmpi-1.5
# Tell OpenMPI where to find its install directory if ($?FOAM_VERBOSE && $?prompt) then
setenv OPAL_PREFIX $MPI_ARCH_PATH echo "Using openmpi-1.5 from the ThirdParty package: $WM_THIRD_PARTY_DIR/packages/$mpi_version"
else endif
set mpi_version=openmpi-1.5 _foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.csh
setenv MPI_HOME $WM_THIRD_PARTY_DIR/$mpi_version
setenv MPI_ARCH_PATH $MPI_HOME/platforms/$WM_OPTIONS
# Tell OpenMPI where to find its install directory
setenv OPAL_PREFIX $MPI_ARCH_PATH
_foamAddPath $MPI_ARCH_PATH/bin
_foamAddLib $MPI_ARCH_PATH/lib
endif endif
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version
unset mpi_version unset mpi_version
breaksw breaksw
case SYSTEMOPENMPI: case SYSTEMOPENMPI:
# This uses the installed openmpi. It needs mpicc installed!
set mpi_version=openmpi-system set mpi_version=openmpi-system
# Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI # make sure not the "old" mpi is used
setenv PINC `mpicc --showme:compile` # Not sure if this is necessary anymore.
setenv PLIBS `mpicc --showme:link` # export OPAL_PREFIX=
set libDir=`echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
if ($?FOAM_VERBOSE && $?prompt) then # Make sure OPENMPI_BIN_DIR is set and valid
echo "Using system installed MPI:" if ($?OPENMPI_BIN_DIR != 0 ) then
echo " compile flags : $PINC" if (-d "${OPENMPI_BIN_DIR}" ) then
echo " link flags : $PLIBS" # User defined value specified for OPENMPI_BIN_DIR
echo " libmpi dir : $libDir" #
# WARNING:
# We assume this path specified by $OPENMPI_BIN_DIR is valid
# We assume the command mpicc is located somewhere under this path
# We assume the file mpi.h is located somewhere under this path
#
# Otherwise, please double check your openmpi installation, you are
# probably missing the openmpi runtime and/or development packages
# available for your system.
#
_foamAddPath $OPENMPI_BIN_DIR
endif
else
# Here, we assume your environment is already set for running
# and developping with openmpi.
#
# Initialize OPENMPI_BIN_DIR using the path to mpicc
set mpicc_cmd=`which mpicc`
setenv OPENMPI_BIN_DIR `dirname $mpicc_cmd`
unset mpicc_cmd
endif endif
_foamAddLib $libDir # Make sure OPENMPI_LIB_DIR is set
if ( $?OPENMPI_LIB_DIR == 0 ) then
# Initialize OPENMPI_LIB_DIR using the path to mpicc
setenv OPENMPI_LIB_DIR "`mpicc --showme:libdirs`"
endif
# Make sure the dynamic libraries are accessible
if( $?OPENMPI_LIB_DIR != 0 ) then
_foamAddLib $OPENMPI_LIB_DIR
endif
setenv MPI_HOME `dirname $OPENMPI_BIN_DIR`
setenv MPI_ARCH_PATH $MPI_HOME
setenv OPAL_PREFIX $MPI_ARCH_PATH
# We initialize the rest of the environment using mpicc --showme:
if ($?OPENMPI_INCLUDE_DIR == 0) then
setenv OPENMPI_INCLUDE_DIR "`mpicc --showme:incdirs`"
endif
if (${?OPENMPI_COMPILE_FLAGS} == 0) then
setenv OPENMPI_COMPILE_FLAGS "`mpicc --showme:compile`"
endif
if (${?OPENMPI_COMPILE_FLAGS} == 0) then
setenv OPENMPI_COMPILE_FLAGS "`mpicc --showme:compile`"
endif
if (${?OPENMPI_LINK_FLAGS} == 0) then
setenv OPENMPI_LINK_FLAGS "`mpicc --showme:link`"
endif
#
# WARNING: We assume the file mpi.h will be available under the directories identified
# by the variable $OPENMPI_INCLUDE_DIR. Otherwise, please double check your
# system openmpi installation.
# Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI
setenv PINC "$OPENMPI_COMPILE_FLAGS"
setenv PLIBS "$OPENMPI_LINK_FLAGS"
# No longer needed, but we keep this as a reference, just in case...
#libDir `echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
#_foamAddLib $libDir
if ($?FOAM_VERBOSE && $?prompt) then
echo "Using system installed OpenMPI:"
echo " OPENMPI_BIN_DIR : $OPENMPI_BIN_DIR"
echo " OPENMPI_LIB_DIR : $OPENMPI_LIB_DIR"
echo " OPENMPI_INCLUDE_DIR : $OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : $OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : $OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : $MPI_HOME"
echo " MPI_ARCH_PATH : $MPI_ARCH_PATH"
echo " OPAL_PREFIX : $OPAL_PREFIX"
echo " PINC : $PINC"
echo " PLIBS : $PLIBS"
endif
setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/$mpi_version
unset mpi_version libDir unset mpi_version
breaksw breaksw
case MPICH: case MPICH:
@ -300,31 +370,31 @@ endif
# Mesquite library if available # Mesquite library if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( -e $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2 ) then if ( $?MESQUITE_SYSTEM == 0 && -e $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/$WM_OPTIONS/etc/mesquite-2.1.2.csh _foamSource $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/$WM_OPTIONS/etc/mesquite-2.1.2.csh
endif endif
# Metis library if available # Metis library if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( -e $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2 ) then if ( $?METIS_SYSTEM == 0&& -e $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2/platforms/$WM_OPTIONS/etc/metis-5.0pre2.csh _foamSource $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2/platforms/$WM_OPTIONS/etc/metis-5.0pre2.csh
endif endif
# ParMetis library if available # ParMetis library if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( -e $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1 ) then if ( $?PARMETIS_SYSTEM == 0 && -e $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1/platforms/$WM_OPTIONS/etc/ParMetis-3.1.1.csh _foamSource $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1/platforms/$WM_OPTIONS/etc/ParMetis-3.1.1.csh
endif endif
# ParMGridGen library if available # ParMGridGen library if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( -e $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0 ) then if ( $?PARMGRIDGEN_SYSTEM == 0 && -e $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/$WM_OPTIONS/etc/ParMGridGen-1.0.csh _foamSource $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/$WM_OPTIONS/etc/ParMGridGen-1.0.csh
endif endif
# Scotch library if available # Scotch library if available
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( -e $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b ) then if ( $?SCOTCH_SYSTEM == 0 && -e $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b/platforms/$WM_OPTIONS/etc/scotch-5.1.10b.csh _foamSource $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b/platforms/$WM_OPTIONS/etc/scotch-5.1.10b.csh
endif endif
@ -338,25 +408,25 @@ endif
# cmake # cmake
# ~~~~~ # ~~~~~
if ( -e "$WM_THIRD_PARTY_DIR"/packages/cmake-2.8.3 ) then if ( $?CMAKE_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/cmake-2.8.3 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3/platforms/$WM_OPTIONS/etc/cmake-2.8.3.csh _foamSource $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3/platforms/$WM_OPTIONS/etc/cmake-2.8.3.csh
endif endif
# Python # Python
# ~~~~~ # ~~~~~
if ( -e "$WM_THIRD_PARTY_DIR"/packages/Python-2.7 ) then if ( $?PYTHON_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/Python-2.7 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/Python-2.7/platforms/$WM_OPTIONS/etc/Python-2.7.csh _foamSource $WM_THIRD_PARTY_DIR/packages/Python-2.7/platforms/$WM_OPTIONS/etc/Python-2.7.csh
endif endif
# QT # QT
# ~~~~~ # ~~~~~
if ( -e "$WM_THIRD_PARTY_DIR"/packages/qt-everywhere-opensource-src-4.7.0 )then if ( $?QT_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/qt-everywhere-opensource-src-4.7.0 )then
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.7.0.csh _foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.7.0.csh
endif endif
# PARAVIEW # PARAVIEW
# ~~~~~ # ~~~~~
if ( -e "$WM_THIRD_PARTY_DIR"/packages/ParaView-3.8.1 ) then if ( $?PARAVIEW_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/ParaView-3.8.1 ) then
_foamSource $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1/platforms/$WM_OPTIONS/etc/ParaView-3.8.1.csh _foamSource $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1/platforms/$WM_OPTIONS/etc/ParaView-3.8.1.csh
endif endif

View file

@ -187,32 +187,21 @@ case "$WM_MPLIB" in
OPENMPI) OPENMPI)
if [ -e $WM_THIRD_PARTY_DIR/packages/openmpi-1.4.3 ] if [ -e $WM_THIRD_PARTY_DIR/packages/openmpi-1.4.3 ]
then then
if [ "$FOAM_VERBOSE" -a "$PS1" ]
then
echo "Using openmpi-1.4.3"
fi
mpi_version=openmpi-1.4.3 mpi_version=openmpi-1.4.3
_foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.sh
export MPI_HOME=$WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS
export MPI_ARCH_PATH=$MPI_HOME
# Tell OpenMPI where to find its install directory
export OPAL_PREFIX=$MPI_ARCH_PATH
elif [ -e $WM_THIRD_PARTY_DIR/packages/openmpi-1.4.1 ]
then
if [ "$FOAM_VERBOSE" -a "$PS1" ] if [ "$FOAM_VERBOSE" -a "$PS1" ]
then then
echo "Using openmpi-1.4.1" echo "Using openmpi-1.4.3 from the ThirdParty package: $WM_THIRD_PARTY_DIR/packages/$mpi_version"
fi fi
mpi_version=openmpi-1.4.1
_foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.sh _foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.sh
export MPI_HOME=$WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS elif [ -e $WM_THIRD_PARTY_DIR/packages/openmpi-1.5 ]
export MPI_ARCH_PATH=$MPI_HOME then
mpi_version=openmpi-1.5
# Tell OpenMPI where to find its install directory if [ "$FOAM_VERBOSE" -a "$PS1" ]
export OPAL_PREFIX=$MPI_ARCH_PATH then
echo "Using openmpi-1.5 from the ThirdParty package: $WM_THIRD_PARTY_DIR/packages/$mpi_version"
fi
_foamSource $WM_THIRD_PARTY_DIR/packages/$mpi_version/platforms/$WM_OPTIONS/etc/$mpi_version.sh
fi fi
export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/$mpi_version export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/$mpi_version
@ -223,24 +212,80 @@ SYSTEMOPENMPI)
mpi_version=openmpi-system mpi_version=openmpi-system
# make sure not the "old" mpi is used # make sure not the "old" mpi is used
export OPAL_PREFIX= # Not sure if this is necessary anymore.
# export OPAL_PREFIX=
# Make sure OPENMPI_BIN_DIR is set and valid
if [ -n "${OPENMPI_BIN_DIR}" ] && [ -d "${OPENMPI_BIN_DIR}" ]
then
# User defined value specified for OPENMPI_BIN_DIR
#
# WARNING:
# We assume this path specified by $OPENMPI_BIN_DIR is valid
# We assume the command mpicc is located somewhere under this path
# We assume the file mpi.h is located somewhere under this path
#
# Otherwise, please double check your openmpi installation, you are
# probably missing the openmpi runtime and/or development packages
# available for your system.
#
_foamAddPath $OPENMPI_BIN_DIR
else
# Here, we assume your environment is already set for running
# and developping with openmpi.
#
# Initialize OPENMPI_BIN_DIR using the path to mpicc
export OPENMPI_BIN_DIR=$(dirname `which mpicc`)
fi
# Make sure OPENMPI_LIB_DIR is set
if [ ! -n "${OPENMPI_LIB_DIR}" ]
then
# Initialize OPENMPI_LIB_DIR using the path to mpicc
export OPENMPI_LIB_DIR="`mpicc --showme:libdirs`"
fi
# Make sure the dynamic libraries are accessible
[ -n "${OPENMPI_LIB_DIR}" ] && _foamAddLib $OPENMPI_LIB_DIR
export MPI_HOME=`dirname $OPENMPI_BIN_DIR`
export MPI_ARCH_PATH=$MPI_HOME
export OPAL_PREFIX=$MPI_ARCH_PATH
# We initialize the rest of the environment using mpicc --showme:
[ ! -n "${OPENMPI_INCLUDE_DIR}" ] && export OPENMPI_INCLUDE_DIR="`mpicc --showme:incdirs`"
[ ! -n "${OPENMPI_COMPILE_FLAGS}" ] && export OPENMPI_COMPILE_FLAGS="`mpicc --showme:compile`"
[ ! -n "${OPENMPI_LINK_FLAGS}" ] && export OPENMPI_LINK_FLAGS="`mpicc --showme:link`"
#
# WARNING: We assume the file mpi.h will be available under the directories identified
# by the variable $OPENMPI_INCLUDE_DIR. Otherwise, please double check your
# system openmpi installation.
# Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI # Set compilation flags here instead of in wmake/rules/../mplibSYSTEMOPENMPI
export PINC=`mpicc --showme:compile` export PINC=$OPENMPI_COMPILE_FLAGS
export PLIBS="`mpicc --showme:link`" export PLIBS=$OPENMPI_LINK_FLAGS
libDir=`echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
# No longer needed, but we keep this as a reference, just in case...
#libDir=`echo "$PLIBS" | sed -e 's/.*-L\([^ ]*\).*/\1/'`
#_foamAddLib $libDir
if [ "$FOAM_VERBOSE" -a "$PS1" ] if [ "$FOAM_VERBOSE" -a "$PS1" ]
then then
echo "Using system installed MPI:" echo "Using system installed OpenMPI:"
echo " compile flags : $PINC" echo " OPENMPI_BIN_DIR : $OPENMPI_BIN_DIR"
echo " link flags : $PLIBS" echo " OPENMPI_LIB_DIR : $OPENMPI_LIB_DIR"
echo " libmpi dir : $libDir" echo " OPENMPI_INCLUDE_DIR : $OPENMPI_INCLUDE_DIR"
echo " OPENMPI_COMPILE_FLAGS : $OPENMPI_COMPILE_FLAGS"
echo " OPENMPI_LINK_FLAGS : $OPENMPI_LINK_FLAGS"
echo ""
echo " MPI_HOME : $MPI_HOME"
echo " MPI_ARCH_PATH : $MPI_ARCH_PATH"
echo " OPAL_PREFIX : $OPAL_PREFIX"
echo " PINC : $PINC"
echo " PLIBS : $PLIBS"
fi fi
_foamAddLib $libDir
export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/$mpi_version export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/$mpi_version
unset mpi_version unset mpi_version
;; ;;
@ -372,79 +417,79 @@ export MPI_BUFFER_SIZE
# Third party packages # Third party packages
# #
# In order to use a pre-installed version of the ThirdParty packages, just set the # In order to use a pre-installed version of the ThirdParty packages, just set the
# appropriate XXX_DIR environment variable for a given package in order to disable # appropriate XXX_SYSTEM environment variable for a given package in your prefs.sh
# the sourcing of the ThirdParty version of the same package. # file in order to disable the sourcing of the ThirdParty version of the same package.
# Load Mesquite library # Load Mesquite library
# ~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2 ] && { [ -z "$MESQUITE_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/$WM_OPTIONS/etc/mesquite-2.1.2.sh _foamSource $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/$WM_OPTIONS/etc/mesquite-2.1.2.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "MESQUITE_DIR is initialized to: $MESQUITE_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " MESQUITE_DIR is initialized to: $MESQUITE_DIR"
# Load Metis library # Load Metis library
# ~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2 ] && { [ -z "$METIS_SYSTEM" ] && [ -d $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2/platforms/$WM_OPTIONS/etc/metis-5.0pre2.sh _foamSource $WM_THIRD_PARTY_DIR/packages/metis-5.0pre2/platforms/$WM_OPTIONS/etc/metis-5.0pre2.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "METIS_DIR is initialized to: $METIS_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " METIS_DIR is initialized to: $METIS_DIR"
# Load ParMetis library # Load ParMetis library
# ~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1 ] && { [ -z "$PARMETIS_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1/platforms/$WM_OPTIONS/etc/ParMetis-3.1.1.sh _foamSource $WM_THIRD_PARTY_DIR/packages/ParMetis-3.1.1/platforms/$WM_OPTIONS/etc/ParMetis-3.1.1.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "PARMETIS_DIR is initialized to: $PARMETIS_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " PARMETIS_DIR is initialized to: $PARMETIS_DIR"
# Load ParMGridGen library # Load ParMGridGen library
# ~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0 ] && { [ -z "$PARMGRIDGEN_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/$WM_OPTIONS/etc/ParMGridGen-1.0.sh _foamSource $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/$WM_OPTIONS/etc/ParMGridGen-1.0.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "PARMGRIDGEN_DIR is initialized to: $PARMGRIDGEN_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " PARMGRIDGEN_DIR is initialized to: $PARMGRIDGEN_DIR"
# Load Scotch library # Load Scotch library
# ~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b ] && { [ -z "$SCOTCH_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b/platforms/$WM_OPTIONS/etc/scotch-5.1.10b.sh _foamSource $WM_THIRD_PARTY_DIR/packages/scotch-5.1.10b/platforms/$WM_OPTIONS/etc/scotch-5.1.10b.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "SCOTCH_DIR is initialized to: $SCOTCH_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " SCOTCH_DIR is initialized to: $SCOTCH_DIR"
# Load cmake # Load cmake
# ~~~~~~~~~~ # ~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3 ] && { [ -z "$CMAKE_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3/platforms/$WM_OPTIONS/etc/cmake-2.8.3.sh _foamSource $WM_THIRD_PARTY_DIR/packages/cmake-2.8.3/platforms/$WM_OPTIONS/etc/cmake-2.8.3.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "CMAKE_DIR is initialized to: $CMAKE_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " CMAKE_DIR is initialized to: $CMAKE_DIR"
# Load Python # Load Python
# ~~~~~~~~~~~ # ~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/Python-2.7 ] && { [ -z "$PYTHON_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/Python-2.7 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/Python-2.7/platforms/$WM_OPTIONS/etc/Python-2.7.sh _foamSource $WM_THIRD_PARTY_DIR/packages/Python-2.7/platforms/$WM_OPTIONS/etc/Python-2.7.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "PYTHON_DIR is initialized to: $PYTHON_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " PYTHON_DIR is initialized to: $PYTHON_DIR"
# Load QT # Load QT
# ~~~~~~~ # ~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0 ] && { [ ! -z "$QT_THIRD_PARTY" ] && [ -e $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.7.0.sh _foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.7.0/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.7.0.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "QT_DIR is initialized to: $QT_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " QT_DIR is initialized to: $QT_DIR"
# Load ParaView # Load ParaView
# ~~~~~~~~~~~~~ # ~~~~~~~~~~~~~
[ -e $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1 ] && { [ -z "$PARAVIEW_SYSTEM" ] && [ -e $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1 ] && {
_foamSource $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1/platforms/$WM_OPTIONS/etc/ParaView-3.8.1.sh _foamSource $WM_THIRD_PARTY_DIR/packages/ParaView-3.8.1/platforms/$WM_OPTIONS/etc/ParaView-3.8.1.sh
} }
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "PARAVIEW_DIR is initialized to: $PARAVIEW_DIR" [ "$FOAM_VERBOSE" -a "$PS1" ] && echo " PARAVIEW_DIR is initialized to: $PARAVIEW_DIR"
# cleanup environment: # cleanup environment:

View file

@ -1,10 +1,10 @@
EXE_INC = \ EXE_INC = \
-I$(METIS_DIR)/include \ -I$(METIS_INCLUDE_DIR) \
-I../decompositionMethods/lnInclude \ -I../decompositionMethods/lnInclude \
-I../scotchDecomp/lnInclude -I../scotchDecomp/lnInclude
LIB_LIBS = \ LIB_LIBS = \
-L$(FOAM_LIBBIN)/dummy \ -L$(FOAM_LIBBIN)/dummy \
-L$(METIS_DIR)/lib -lmetis \ -L$(METIS_LIB_DIR) -lmetis \
-L$(METIS_DIR)/lib -lGKlib -L$(METIS_LIB_DIR) -lGKlib

View file

@ -2,13 +2,13 @@ include $(RULES)/mplib$(WM_MPLIB)
EXE_INC = \ EXE_INC = \
$(PFLAGS) $(PINC) \ $(PFLAGS) $(PINC) \
-I$(PARMETIS_DIR)/include/ParMETISLib \ -I$(PARMETIS_INCLUDE_DIR)/ParMETISLib \
-I$(PARMETIS_DIR)/include \ -I$(PARMETIS_INCLUDE_DIR) \
-I../decompositionMethods/lnInclude \ -I../decompositionMethods/lnInclude \
-I../metisDecomp/lnInclude \ -I../metisDecomp/lnInclude \
-I../scotchDecomp/lnInclude -I../scotchDecomp/lnInclude
LIB_LIBS = \ LIB_LIBS = \
-L$(FOAM_MPI_LIBBIN) \ -L$(FOAM_MPI_LIBBIN) \
-L$(PARMETIS_DIR)/lib -lmetis-parmetis \ -L$(PARMETIS_LIB_DIR) -lmetis-parmetis \
-L$(PARMETIS_DIR)/lib -lparmetis -L$(PARMETIS_LIB_DIR) -lparmetis

View file

@ -1,7 +1,7 @@
EXE_INC = \ EXE_INC = \
-I$(SCOTCH_DIR)/include \ -I$(SCOTCH_INCLUDE_DIR) \
-I../decompositionMethods/lnInclude -I../decompositionMethods/lnInclude
LIB_LIBS = \ LIB_LIBS = \
-L$(SCOTCH_DIR)/lib -lscotch \ -L$(SCOTCH_LIB_DIR) -lscotch \
-L$(SCOTCH_DIR)/lib -lscotcherrexit -L$(SCOTCH_LIB_DIR) -lscotcherrexit

View file

@ -1,9 +1,9 @@
EXE_INC = \ EXE_INC = \
-I$(MESQUITE_DIR)/include \ -I$(MESQUITE_INCLUDE_DIR) \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \
LIB_LIBS = \ LIB_LIBS = \
-lmeshTools \ -lmeshTools \
-ldynamicMesh \ -ldynamicMesh \
-L$(MESQUITE_DIR)/lib -lmesquite -L$(MESQUITE_LIB_DIR) -lmesquite

View file

@ -7,9 +7,9 @@ TYPE_REAL=-DTYPE_REAL
EXE_INC = \ EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(PARMGRIDGEN_DIR)/include/Lib \ -I$(PARMGRIDGEN_INCLUDE_DIR)/Lib \
-I$(PARMGRIDGEN_DIR)/include/IMlib \ -I$(PARMGRIDGEN_INCLUDE_DIR)/IMlib \
$(TYPE_REAL) $(TYPE_REAL)
LIB_LIBS = \ LIB_LIBS = \
-L$(PARMGRIDGEN_DIR)/lib -lMGridGen -L$(PARMGRIDGEN_LIB_DIR) -lMGridGen