Compilation tweaks for mingw
This commit is contained in:
parent
0d734cb9c0
commit
7367164292
32 changed files with 820 additions and 833 deletions
156
Allwmake.mingw
156
Allwmake.mingw
|
@ -1,78 +1,78 @@
|
|||
#!/bin/sh
|
||||
#----------------------------------*-sh-*--------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# Allwmake.mingw
|
||||
#
|
||||
# Description
|
||||
# Top-level build script for use with MSYS shell for MinGW-based builds on Windows.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
echo
|
||||
echo "=============== FOAM-EXTEND MINGW WINDOWS TOP-LEVEL BUILD SCRIPT ==============="
|
||||
|
||||
if [ "$PWD" != "$WM_PROJECT_DIR" ]
|
||||
then
|
||||
echo "Error: Current directory is not \$WM_PROJECT_DIR"
|
||||
echo " The environment variable are not consistent with the installation."
|
||||
echo " Check the OpenFOAM entries in your dot-files and source them."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $WM_PROJECT_DIR/ThirdParty/mingwBuild
|
||||
echo
|
||||
echo "In directory `pwd`"
|
||||
echo "Configuring your OpenMPI installation ..."
|
||||
./configure_OpenMPI.sh
|
||||
PACKAGES_DIR=$WM_PROJECT_DIR/ThirdParty/packages
|
||||
if [ -d $PACKAGES_DIR ] ; then
|
||||
echo "Third-party dependencies packages $PACKAGES_DIR already exists."
|
||||
else
|
||||
echo "Building third-party dependencies ... (see `pwd`/build.log)"
|
||||
./build.sh > build.log 2>&1
|
||||
echo "Installing third-party dependencies ..."
|
||||
rm -rf $PACKAGES_DIR
|
||||
mv x64/install $PACKAGES_DIR
|
||||
fi
|
||||
|
||||
cd $WM_PROJECT_DIR
|
||||
echo
|
||||
echo "In directory `pwd`"
|
||||
echo "Build foam-extend ... (see `pwd`/Allwmake.log)"
|
||||
./Allwmake > Allwmake.log 2>&1
|
||||
echo "Copying MinGW dependencies to $FOAM_APPBIN ..."
|
||||
cp -p $MINGW_HOME/bin/libgcc_s_seh-1.dll $FOAM_APPBIN
|
||||
cp -p $MINGW_HOME/bin/libstdc++-6.dll $FOAM_APPBIN
|
||||
cp -p $MINGW_HOME/bin/libwinpthread-1.dll $FOAM_APPBIN
|
||||
echo "Creating release package ... (see `pwd`/createWindowsBinaryPackage.log)"
|
||||
./bin/createWindowsBinaryPackage > createWindowsBinaryPackage.log 2>&1
|
||||
|
||||
echo
|
||||
echo "All done!"
|
||||
#!/bin/sh
|
||||
#----------------------------------*-sh-*--------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# Allwmake.mingw
|
||||
#
|
||||
# Description
|
||||
# Top-level build script for use with MSYS shell for MinGW-based builds on Windows.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
echo
|
||||
echo "=============== FOAM-EXTEND MINGW WINDOWS TOP-LEVEL BUILD SCRIPT ==============="
|
||||
|
||||
if [ "$PWD" != "$WM_PROJECT_DIR" ]
|
||||
then
|
||||
echo "Error: Current directory is not \$WM_PROJECT_DIR"
|
||||
echo " The environment variable are not consistent with the installation."
|
||||
echo " Check the OpenFOAM entries in your dot-files and source them."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $WM_PROJECT_DIR/ThirdParty/mingwBuild
|
||||
echo
|
||||
echo "In directory `pwd`"
|
||||
echo "Configuring your OpenMPI installation ..."
|
||||
./configure_OpenMPI.sh
|
||||
PACKAGES_DIR=$WM_PROJECT_DIR/ThirdParty/packages
|
||||
if [ -d $PACKAGES_DIR ] ; then
|
||||
echo "Third-party dependencies packages $PACKAGES_DIR already exists."
|
||||
else
|
||||
echo "Building third-party dependencies ... (see `pwd`/build.log)"
|
||||
./build.sh > build.log 2>&1
|
||||
echo "Installing third-party dependencies ..."
|
||||
rm -rf $PACKAGES_DIR
|
||||
mv x64/install $PACKAGES_DIR
|
||||
fi
|
||||
|
||||
cd $WM_PROJECT_DIR
|
||||
echo
|
||||
echo "In directory `pwd`"
|
||||
echo "Build foam-extend ... (see `pwd`/Allwmake.log)"
|
||||
./Allwmake > Allwmake.log 2>&1
|
||||
echo "Copying MinGW dependencies to $FOAM_APPBIN ..."
|
||||
cp -p $MINGW_HOME/bin/libgcc_s_seh-1.dll $FOAM_APPBIN
|
||||
cp -p $MINGW_HOME/bin/libstdc++-6.dll $FOAM_APPBIN
|
||||
cp -p $MINGW_HOME/bin/libwinpthread-1.dll $FOAM_APPBIN
|
||||
echo "Creating release package ... (see `pwd`/createWindowsBinaryPackage.log)"
|
||||
./bin/createWindowsBinaryPackage > createWindowsBinaryPackage.log 2>&1
|
||||
|
||||
echo
|
||||
echo "All done!"
|
||||
|
|
586
ThirdParty/mingwBuild/build.sh
vendored
586
ThirdParty/mingwBuild/build.sh
vendored
|
@ -1,293 +1,293 @@
|
|||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# build.sh
|
||||
#
|
||||
# Description
|
||||
# Downloads, extracts, builds and installs thirdy-party dependencies.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# {{{ DEFINE UTILITY FUNCTIONS
|
||||
download() {
|
||||
file=$1
|
||||
url=$2
|
||||
|
||||
if [ -f $BUILD_HOME/downloads/$file ] ; then
|
||||
echo "Using already existing file $BUILD_HOME/downloads/$file"
|
||||
else
|
||||
wget --no-check-certificate $url -O $BUILD_HOME/downloads/$file
|
||||
fi
|
||||
}
|
||||
|
||||
extract() {
|
||||
file=$1
|
||||
program=$2
|
||||
|
||||
cp -p $BUILD_HOME/downloads/$file .
|
||||
package=`basename $file`
|
||||
if [ "$program" = "7zip" ] ; then
|
||||
"$ZIP_EXE" x $package
|
||||
else
|
||||
$program -cd $package | tar xvf -
|
||||
fi
|
||||
rm $package
|
||||
}
|
||||
|
||||
unzip_dir() {
|
||||
dir=$1
|
||||
|
||||
mkdir $dir
|
||||
cd $dir
|
||||
extract $dir.zip 7zip
|
||||
cd ..
|
||||
}
|
||||
|
||||
patch() {
|
||||
dir=$1
|
||||
|
||||
cp -rp $BUILD_HOME/$ARCH/patches/$dir .
|
||||
}
|
||||
|
||||
mkchk() {
|
||||
dir=$1
|
||||
|
||||
if [ ! -d $dir ] ; then
|
||||
mkdir $dir
|
||||
fi
|
||||
}
|
||||
|
||||
mkdel() {
|
||||
dir=$1
|
||||
|
||||
rm -rf $dir > /dev/null 2>&1
|
||||
mkdir $dir
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ DEFINE PROCESS FUNCTIONS
|
||||
start() {
|
||||
echo "======================== FOAM-EXTEND THIRD-PARTY DEPENDENCIES WINDOWS BUILD SCRIPT ========================"
|
||||
}
|
||||
|
||||
initialise() {
|
||||
echo ""
|
||||
|
||||
if [ ! "$MINGW_HOME" ] ; then
|
||||
echo "*** ERROR: MINGW_HOME environment variable not specified."
|
||||
exit 1
|
||||
else
|
||||
echo "Using MINGW_HOME=$MINGW_HOME"
|
||||
fi
|
||||
|
||||
BUILD_HOME=`pwd`
|
||||
ZIP_EXE="7z.exe"
|
||||
ARCH="x64"
|
||||
|
||||
BUILD_DIR=$BUILD_HOME/$ARCH/build
|
||||
INSTALL_DIR=$BUILD_HOME/$ARCH/install
|
||||
OUT_DIR=$BUILD_HOME/$ARCH/output
|
||||
|
||||
mkchk $BUILD_HOME/downloads
|
||||
|
||||
echo ""
|
||||
echo "All stdout/stderr output is redirected to the directory $OUT_DIR"
|
||||
echo "All builds occur in the directory $BUILD_DIR"
|
||||
echo "The script will install the completed builds in the directory $INSTALL_DIR"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Removing previous builds ..."
|
||||
|
||||
mkdel $BUILD_DIR
|
||||
mkdel $INSTALL_DIR
|
||||
mkdel $OUT_DIR
|
||||
}
|
||||
|
||||
build_library() {
|
||||
PACKAGE=$1
|
||||
|
||||
echo "- Building $PACKAGE ..."
|
||||
LOG_FILE=$OUT_DIR/$PACKAGE.log
|
||||
cd $BUILD_DIR
|
||||
|
||||
case $PACKAGE in
|
||||
|
||||
dlfcn-win32-master)
|
||||
download $PACKAGE.zip https://github.com/dlfcn-win32/dlfcn-win32/archive/master.zip > $LOG_FILE 2>&1
|
||||
extract $PACKAGE.zip 7zip >> $LOG_FILE 2>&1
|
||||
cd $PACKAGE
|
||||
./configure --prefix=$INSTALL_DIR/system >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/system
|
||||
make install >> $LOG_FILE 2>&1
|
||||
;;
|
||||
|
||||
system)
|
||||
cd $INSTALL_DIR
|
||||
patch system
|
||||
;;
|
||||
|
||||
pthreads-w32-2-9-1-release)
|
||||
download $PACKAGE.zip ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip > $LOG_FILE 2>&1
|
||||
unzip_dir $PACKAGE >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
;;
|
||||
|
||||
metis-5.1.0)
|
||||
download $PACKAGE.tar.gz http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
mkdir build/windows
|
||||
cd build/windows
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_CONFIGURATION-TYPES="Release" -DGKLIB_PATH="../../GKlib" ../.. >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p programs/*.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p ../../include/metis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p libmetis/libmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
;;
|
||||
|
||||
parmetis-4.0.3)
|
||||
download $PACKAGE.tar.gz http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
mkdir build/windows
|
||||
cd build/windows
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_CONFIGURATION-TYPES="Release" -DGKLIB_PATH="../../metis/GKlib" ../.. >> $LOG_FILE 2>&1
|
||||
$BUILD_HOME/parmetis_includes_hack.pl
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p programs/*.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p ../../metis/include/metis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p ../../include/parmetis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p libmetis/libmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p libparmetis/libparmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
;;
|
||||
|
||||
ParMGridGen-1.0)
|
||||
export EXTRA_SYSTEM_HOME=$INSTALL_DIR/system
|
||||
download $PACKAGE.tar.gz http://www.mgnet.org/mgnet/Codes/parmgridgen/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
make serial >> $LOG_FILE 2>&1
|
||||
make parallel >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p *.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p libmgrid.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p libparmgrid.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p MGridGen/IMlib/libIMlib.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p ParMGridGen/IMParMetis-2.0/libIMparmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p MGridGen/IMlib/*.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p MGridGen/Lib/*.h $INSTALL_DIR/$PACKAGE/include
|
||||
export EXTRA_SYSTEM_HOME=
|
||||
;;
|
||||
|
||||
scotch_6.0.0)
|
||||
export PTHREADS_HOME=$BUILD_DIR/pthreads-w32-2-9-1-release
|
||||
download $PACKAGE.tar.gz https://gforge.inria.fr/frs/download.php/31831 > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE/src
|
||||
make scotch >> $LOG_FILE 2>&1
|
||||
make ptscotch >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
make install prefix=$INSTALL_DIR/$PACKAGE >> $PACKAGE.log 2>&1
|
||||
export PTHREADS_HOME=
|
||||
;;
|
||||
|
||||
mesquite-2.1.2)
|
||||
export CPPFLAGS=-fpermissive
|
||||
download $PACKAGE.tar.gz http://downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
cd $PACKAGE
|
||||
cp -p $MINGW_HOME/bin/libstdc++-6.dll utils
|
||||
./configure --prefix=$INSTALL_DIR >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
make install prefix=$INSTALL_DIR/$PACKAGE >> $LOG_FILE 2>&1
|
||||
export CPPFLAGS=
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "*** ERROR: Unknown package '$PACKAGE'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
build_libraries() {
|
||||
echo ""
|
||||
echo "Building libraries ..."
|
||||
build_library dlfcn-win32-master
|
||||
build_library system
|
||||
build_library pthreads-w32-2-9-1-release
|
||||
build_library metis-5.1.0
|
||||
build_library parmetis-4.0.3
|
||||
build_library ParMGridGen-1.0
|
||||
build_library scotch_6.0.0
|
||||
build_library mesquite-2.1.2
|
||||
}
|
||||
|
||||
create_dirs() {
|
||||
echo ""
|
||||
echo "Checking for build directories and creating them if required ..."
|
||||
|
||||
mkchk $BUILD_DIR
|
||||
mkchk $INSTALL_DIR
|
||||
mkchk $OUT_DIR
|
||||
}
|
||||
|
||||
finish() {
|
||||
echo ""
|
||||
echo "All done!"
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ MAIN EXECUTION
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
start
|
||||
initialise
|
||||
mkchk $ARCH
|
||||
cleanup
|
||||
build_libraries
|
||||
finish
|
||||
# }}}
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# build.sh
|
||||
#
|
||||
# Description
|
||||
# Downloads, extracts, builds and installs thirdy-party dependencies.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# {{{ DEFINE UTILITY FUNCTIONS
|
||||
download() {
|
||||
file=$1
|
||||
url=$2
|
||||
|
||||
if [ -f $BUILD_HOME/downloads/$file ] ; then
|
||||
echo "Using already existing file $BUILD_HOME/downloads/$file"
|
||||
else
|
||||
wget --no-check-certificate $url -O $BUILD_HOME/downloads/$file
|
||||
fi
|
||||
}
|
||||
|
||||
extract() {
|
||||
file=$1
|
||||
program=$2
|
||||
|
||||
cp -p $BUILD_HOME/downloads/$file .
|
||||
package=`basename $file`
|
||||
if [ "$program" = "7zip" ] ; then
|
||||
"$ZIP_EXE" x $package
|
||||
else
|
||||
$program -cd $package | tar xvf -
|
||||
fi
|
||||
rm $package
|
||||
}
|
||||
|
||||
unzip_dir() {
|
||||
dir=$1
|
||||
|
||||
mkdir $dir
|
||||
cd $dir
|
||||
extract $dir.zip 7zip
|
||||
cd ..
|
||||
}
|
||||
|
||||
patch() {
|
||||
dir=$1
|
||||
|
||||
cp -rp $BUILD_HOME/$ARCH/patches/$dir .
|
||||
}
|
||||
|
||||
mkchk() {
|
||||
dir=$1
|
||||
|
||||
if [ ! -d $dir ] ; then
|
||||
mkdir $dir
|
||||
fi
|
||||
}
|
||||
|
||||
mkdel() {
|
||||
dir=$1
|
||||
|
||||
rm -rf $dir > /dev/null 2>&1
|
||||
mkdir $dir
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ DEFINE PROCESS FUNCTIONS
|
||||
start() {
|
||||
echo "======================== FOAM-EXTEND THIRD-PARTY DEPENDENCIES WINDOWS BUILD SCRIPT ========================"
|
||||
}
|
||||
|
||||
initialise() {
|
||||
echo ""
|
||||
|
||||
if [ ! "$MINGW_HOME" ] ; then
|
||||
echo "*** ERROR: MINGW_HOME environment variable not specified."
|
||||
exit 1
|
||||
else
|
||||
echo "Using MINGW_HOME=$MINGW_HOME"
|
||||
fi
|
||||
|
||||
BUILD_HOME=`pwd`
|
||||
ZIP_EXE="7z.exe"
|
||||
ARCH="x64"
|
||||
|
||||
BUILD_DIR=$BUILD_HOME/$ARCH/build
|
||||
INSTALL_DIR=$BUILD_HOME/$ARCH/install
|
||||
OUT_DIR=$BUILD_HOME/$ARCH/output
|
||||
|
||||
mkchk $BUILD_HOME/downloads
|
||||
|
||||
echo ""
|
||||
echo "All stdout/stderr output is redirected to the directory $OUT_DIR"
|
||||
echo "All builds occur in the directory $BUILD_DIR"
|
||||
echo "The script will install the completed builds in the directory $INSTALL_DIR"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Removing previous builds ..."
|
||||
|
||||
mkdel $BUILD_DIR
|
||||
mkdel $INSTALL_DIR
|
||||
mkdel $OUT_DIR
|
||||
}
|
||||
|
||||
build_library() {
|
||||
PACKAGE=$1
|
||||
|
||||
echo "- Building $PACKAGE ..."
|
||||
LOG_FILE=$OUT_DIR/$PACKAGE.log
|
||||
cd $BUILD_DIR
|
||||
|
||||
case $PACKAGE in
|
||||
|
||||
dlfcn-win32-master)
|
||||
download $PACKAGE.zip https://github.com/dlfcn-win32/dlfcn-win32/archive/master.zip > $LOG_FILE 2>&1
|
||||
extract $PACKAGE.zip 7zip >> $LOG_FILE 2>&1
|
||||
cd $PACKAGE
|
||||
./configure --prefix=$INSTALL_DIR/system >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/system
|
||||
make install >> $LOG_FILE 2>&1
|
||||
;;
|
||||
|
||||
system)
|
||||
cd $INSTALL_DIR
|
||||
patch system
|
||||
;;
|
||||
|
||||
pthreads-w32-2-9-1-release)
|
||||
download $PACKAGE.zip ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip > $LOG_FILE 2>&1
|
||||
unzip_dir $PACKAGE >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
;;
|
||||
|
||||
metis-5.1.0)
|
||||
download $PACKAGE.tar.gz http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
mkdir build/windows
|
||||
cd build/windows
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_CONFIGURATION-TYPES="Release" -DGKLIB_PATH="../../GKlib" ../.. >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p programs/*.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p ../../include/metis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p libmetis/libmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
;;
|
||||
|
||||
parmetis-4.0.3)
|
||||
download $PACKAGE.tar.gz http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
mkdir build/windows
|
||||
cd build/windows
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_CONFIGURATION-TYPES="Release" -DGKLIB_PATH="../../metis/GKlib" ../.. >> $LOG_FILE 2>&1
|
||||
$BUILD_HOME/parmetis_includes_hack.pl
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p programs/*.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p ../../metis/include/metis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p ../../include/parmetis.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p libmetis/libmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p libparmetis/libparmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
;;
|
||||
|
||||
ParMGridGen-1.0)
|
||||
export EXTRA_SYSTEM_HOME=$INSTALL_DIR/system
|
||||
download $PACKAGE.tar.gz http://www.mgnet.org/mgnet/Codes/parmgridgen/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE
|
||||
make serial >> $LOG_FILE 2>&1
|
||||
make parallel >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
mkdir $INSTALL_DIR/$PACKAGE/bin
|
||||
mkdir $INSTALL_DIR/$PACKAGE/include
|
||||
mkdir $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p *.exe $INSTALL_DIR/$PACKAGE/bin
|
||||
cp -p libmgrid.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p libparmgrid.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p MGridGen/IMlib/libIMlib.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p ParMGridGen/IMParMetis-2.0/libIMparmetis.a $INSTALL_DIR/$PACKAGE/lib
|
||||
cp -p MGridGen/IMlib/*.h $INSTALL_DIR/$PACKAGE/include
|
||||
cp -p MGridGen/Lib/*.h $INSTALL_DIR/$PACKAGE/include
|
||||
export EXTRA_SYSTEM_HOME=
|
||||
;;
|
||||
|
||||
scotch_6.0.0)
|
||||
export PTHREADS_HOME=$BUILD_DIR/pthreads-w32-2-9-1-release
|
||||
download $PACKAGE.tar.gz https://gforge.inria.fr/frs/download.php/31831 > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
patch $PACKAGE
|
||||
cd $PACKAGE/src
|
||||
make scotch >> $LOG_FILE 2>&1
|
||||
make ptscotch >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
make install prefix=$INSTALL_DIR/$PACKAGE >> $PACKAGE.log 2>&1
|
||||
export PTHREADS_HOME=
|
||||
;;
|
||||
|
||||
mesquite-2.1.2)
|
||||
export CPPFLAGS=-fpermissive
|
||||
download $PACKAGE.tar.gz http://downloads.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty/$PACKAGE.tar.gz > $LOG_FILE 2>&1
|
||||
extract "$PACKAGE.tar.gz" gzip >> $LOG_FILE 2>&1
|
||||
cd $PACKAGE
|
||||
cp -p $MINGW_HOME/bin/libstdc++-6.dll utils
|
||||
./configure --prefix=$INSTALL_DIR >> $LOG_FILE 2>&1
|
||||
make >> $LOG_FILE 2>&1
|
||||
mkdir $INSTALL_DIR/$PACKAGE
|
||||
make install prefix=$INSTALL_DIR/$PACKAGE >> $LOG_FILE 2>&1
|
||||
export CPPFLAGS=
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "*** ERROR: Unknown package '$PACKAGE'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
build_libraries() {
|
||||
echo ""
|
||||
echo "Building libraries ..."
|
||||
build_library dlfcn-win32-master
|
||||
build_library system
|
||||
build_library pthreads-w32-2-9-1-release
|
||||
build_library metis-5.1.0
|
||||
build_library parmetis-4.0.3
|
||||
build_library ParMGridGen-1.0
|
||||
build_library scotch_6.0.0
|
||||
build_library mesquite-2.1.2
|
||||
}
|
||||
|
||||
create_dirs() {
|
||||
echo ""
|
||||
echo "Checking for build directories and creating them if required ..."
|
||||
|
||||
mkchk $BUILD_DIR
|
||||
mkchk $INSTALL_DIR
|
||||
mkchk $OUT_DIR
|
||||
}
|
||||
|
||||
finish() {
|
||||
echo ""
|
||||
echo "All done!"
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ MAIN EXECUTION
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
start
|
||||
initialise
|
||||
mkchk $ARCH
|
||||
cleanup
|
||||
build_libraries
|
||||
finish
|
||||
# }}}
|
||||
|
|
164
ThirdParty/mingwBuild/clean.sh
vendored
164
ThirdParty/mingwBuild/clean.sh
vendored
|
@ -1,82 +1,82 @@
|
|||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# build.sh
|
||||
#
|
||||
# Description
|
||||
# Removes previous thirdy-party dependencies build directories (does not remove installed packages directory)
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# {{{ DEFINE UTILITY FUNCTIONS
|
||||
remove_dir() {
|
||||
dir=$1
|
||||
|
||||
rm -rf $dir > /dev/null 2>&1
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ DEFINE PROCESS FUNCTIONS
|
||||
start() {
|
||||
echo "======================== FOAM-EXTEND THIRD-PARTY DEPENDENCIES WINDOWS CLEAN SCRIPT ========================"
|
||||
}
|
||||
|
||||
initialise() {
|
||||
echo ""
|
||||
|
||||
BUILD_HOME=`pwd`
|
||||
ARCH="x64"
|
||||
|
||||
BUILD_DIR=$BUILD_HOME/$ARCH/build
|
||||
INSTALL_DIR=$BUILD_HOME/$ARCH/install
|
||||
OUT_DIR=$BUILD_HOME/$ARCH/output
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Removing previous builds ..."
|
||||
|
||||
remove_dir $BUILD_DIR
|
||||
remove_dir $INSTALL_DIR
|
||||
remove_dir $OUT_DIR
|
||||
remove_dir $BUILD_HOME/downloads
|
||||
}
|
||||
|
||||
finish() {
|
||||
echo ""
|
||||
echo "All done!"
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ MAIN EXECUTION
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
start
|
||||
initialise
|
||||
cleanup
|
||||
finish
|
||||
# }}}
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# build.sh
|
||||
#
|
||||
# Description
|
||||
# Removes previous thirdy-party dependencies build directories (does not remove installed packages directory)
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# {{{ DEFINE UTILITY FUNCTIONS
|
||||
remove_dir() {
|
||||
dir=$1
|
||||
|
||||
rm -rf $dir > /dev/null 2>&1
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ DEFINE PROCESS FUNCTIONS
|
||||
start() {
|
||||
echo "======================== FOAM-EXTEND THIRD-PARTY DEPENDENCIES WINDOWS CLEAN SCRIPT ========================"
|
||||
}
|
||||
|
||||
initialise() {
|
||||
echo ""
|
||||
|
||||
BUILD_HOME=`pwd`
|
||||
ARCH="x64"
|
||||
|
||||
BUILD_DIR=$BUILD_HOME/$ARCH/build
|
||||
INSTALL_DIR=$BUILD_HOME/$ARCH/install
|
||||
OUT_DIR=$BUILD_HOME/$ARCH/output
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Removing previous builds ..."
|
||||
|
||||
remove_dir $BUILD_DIR
|
||||
remove_dir $INSTALL_DIR
|
||||
remove_dir $OUT_DIR
|
||||
remove_dir $BUILD_HOME/downloads
|
||||
}
|
||||
|
||||
finish() {
|
||||
echo ""
|
||||
echo "All done!"
|
||||
}
|
||||
# }}}
|
||||
|
||||
# {{{ MAIN EXECUTION
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
start
|
||||
initialise
|
||||
cleanup
|
||||
finish
|
||||
# }}}
|
||||
|
|
133
ThirdParty/mingwBuild/configure_OpenMPI.sh
vendored
133
ThirdParty/mingwBuild/configure_OpenMPI.sh
vendored
|
@ -1,67 +1,66 @@
|
|||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# configure_OpenMPI.sh
|
||||
#
|
||||
# Description
|
||||
# Generates static OpenMPI library to enable compilation with MINGW toolchain.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
if [ -f "$MPI_ROOTDIR/lib/libmpi.a" ] ; then
|
||||
echo "$MPI_ROOTDIR/lib/libmpi.a already exists."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INSTALL=1
|
||||
if [ $1 ] ; then
|
||||
if [ $1 = "--no-install" ] ; then
|
||||
INSTALL=0
|
||||
echo "*** WARNING: Will not install exported libmpi.a and libmpi.def"
|
||||
fi
|
||||
fi
|
||||
|
||||
tmp=`echo $RANDOM$RANDOM$RANDOM`
|
||||
current_dir=`pwd`
|
||||
mkdir -p /tmp/$tmp
|
||||
cd /tmp/$tmp
|
||||
|
||||
pexports $MPI_ROOTDIR/bin/libmpi.dll > libmpi.def
|
||||
dlltool --dllname libmpi.dll --def libmpi.def --output-lib libmpi.a
|
||||
|
||||
if [ $INSTALL -eq 1 ] ; then
|
||||
mv libmpi.a $MPI_ROOTDIR/lib
|
||||
mv libmpi.def $MPI_ROOTDIR/lib
|
||||
cd $current_dir
|
||||
rm -rf /tmp/$tmp
|
||||
echo "Installed exported libraries into $MPI_ROOTDIR/lib"
|
||||
else
|
||||
cd $current_dir
|
||||
echo "Exported libraries left in directory /tmp/$tmp"
|
||||
fi
|
||||
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# configure_OpenMPI.sh
|
||||
#
|
||||
# Description
|
||||
# Generates static OpenMPI library to enable compilation with MINGW toolchain.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
if [ -f "$MPI_ROOTDIR/lib/libmpi.a" ] ; then
|
||||
echo "$MPI_ROOTDIR/lib/libmpi.a already exists."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INSTALL=1
|
||||
if [ $1 ] ; then
|
||||
if [ $1 = "--no-install" ] ; then
|
||||
INSTALL=0
|
||||
echo "*** WARNING: Will not install exported libmpi.a and libmpi.def"
|
||||
fi
|
||||
fi
|
||||
|
||||
tmp=`echo $RANDOM$RANDOM$RANDOM`
|
||||
current_dir=`pwd`
|
||||
mkdir -p /tmp/$tmp
|
||||
cd /tmp/$tmp
|
||||
|
||||
pexports $MPI_ROOTDIR/bin/libmpi.dll > libmpi.def
|
||||
dlltool --dllname libmpi.dll --def libmpi.def --output-lib libmpi.a
|
||||
|
||||
if [ $INSTALL -eq 1 ] ; then
|
||||
mv libmpi.a $MPI_ROOTDIR/lib
|
||||
mv libmpi.def $MPI_ROOTDIR/lib
|
||||
cd $current_dir
|
||||
rm -rf /tmp/$tmp
|
||||
echo "Installed exported libraries into $MPI_ROOTDIR/lib"
|
||||
else
|
||||
cd $current_dir
|
||||
echo "Exported libraries left in directory /tmp/$tmp"
|
||||
fi
|
||||
|
|
140
ThirdParty/mingwBuild/parmetis_includes_hack.pl
vendored
140
ThirdParty/mingwBuild/parmetis_includes_hack.pl
vendored
|
@ -1,70 +1,70 @@
|
|||
#!/usr/bin/perl
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# parmetis_includes_hack.pl
|
||||
#
|
||||
# Description
|
||||
# Adds OpenMPI lib/includes dirs to CMake-generated GCC options.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Find;
|
||||
|
||||
my $MPI_ROOTDIR = $ENV{"MPI_ROOTDIR"};
|
||||
$MPI_ROOTDIR =~ s/^\/\w//;
|
||||
my $drive_letter = $&;
|
||||
$drive_letter =~ s/\///;
|
||||
$MPI_ROOTDIR = uc($drive_letter) . ":" . $MPI_ROOTDIR;
|
||||
|
||||
my @dirs = (".");
|
||||
find(\&wanted, @dirs);
|
||||
|
||||
sub wanted
|
||||
{
|
||||
my $file = $_;
|
||||
my $path = $File::Find::name;
|
||||
|
||||
if ($file eq "linklibs.rsp" or $file eq "includes_C.rsp")
|
||||
{
|
||||
open (FILE, '<', $file) or die ("ERROR: Can't open '$path' [$!]");
|
||||
my @contents = <FILE>;
|
||||
close (FILE);
|
||||
|
||||
my $string = ($file eq "linklibs.rsp") ? "-L$MPI_ROOTDIR/lib -lmpi" : "-I$MPI_ROOTDIR/include";
|
||||
open (FILE, '>', $file) or die ("ERROR: Can't open '$path' [$!]");
|
||||
foreach my $line (@contents)
|
||||
{
|
||||
chomp($line);
|
||||
print FILE $line . $string;
|
||||
}
|
||||
close (FILE);
|
||||
}
|
||||
}
|
||||
#!/usr/bin/perl
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration | Version: 3.2
|
||||
# \\ / A nd | Web: http://www.foam-extend.org
|
||||
# \\/ M anipulation | For copyright notice see file Copyright
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# parmetis_includes_hack.pl
|
||||
#
|
||||
# Description
|
||||
# Adds OpenMPI lib/includes dirs to CMake-generated GCC options.
|
||||
#
|
||||
# Author:
|
||||
# Cesare Guardino, Alstom Power Ltd., (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Find;
|
||||
|
||||
my $MPI_ROOTDIR = $ENV{"MPI_ROOTDIR"};
|
||||
$MPI_ROOTDIR =~ s/^\/\w//;
|
||||
my $drive_letter = $&;
|
||||
$drive_letter =~ s/\///;
|
||||
$MPI_ROOTDIR = uc($drive_letter) . ":" . $MPI_ROOTDIR;
|
||||
|
||||
my @dirs = (".");
|
||||
find(\&wanted, @dirs);
|
||||
|
||||
sub wanted
|
||||
{
|
||||
my $file = $_;
|
||||
my $path = $File::Find::name;
|
||||
|
||||
if ($file eq "linklibs.rsp" or $file eq "includes_C.rsp")
|
||||
{
|
||||
open (FILE, '<', $file) or die ("ERROR: Can't open '$path' [$!]");
|
||||
my @contents = <FILE>;
|
||||
close (FILE);
|
||||
|
||||
my $string = ($file eq "linklibs.rsp") ? "-L$MPI_ROOTDIR/lib -lmpi" : "-I$MPI_ROOTDIR/include";
|
||||
open (FILE, '>', $file) or die ("ERROR: Can't open '$path' [$!]");
|
||||
foreach my $line (@contents)
|
||||
{
|
||||
chomp($line);
|
||||
print FILE $line . $string;
|
||||
}
|
||||
close (FILE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* IMlib.h
|
||||
*
|
||||
*
|
||||
* Irene's library of most frequently used routines
|
||||
*
|
||||
*/
|
||||
|
@ -104,16 +104,16 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
* Macros Section
|
||||
**************************************************************************/
|
||||
/*-------------------------------------------------------------
|
||||
* Usefull commands
|
||||
* Usefull commands
|
||||
*-------------------------------------------------------------*/
|
||||
#define sign(a, b) ((b) >= 0 ? ((a) >= 0.0 ? a : -a) : ((a) >= 0.0 ? -a : a))
|
||||
#define amax(a, b) ((a) >= (b) ? (a) : (b))
|
||||
#define amin(a, b) ((a) >= (b) ? (b) : (a))
|
||||
#define RandomInRange(u) ((int)(drand48()*((double)(u))))
|
||||
#define RandomInRangeFast(u) ((rand()>>3)%(u))
|
||||
#define SWAP(a, b, tmp) do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
#define SWAP(a, b, tmp) do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
#define INC_DEC(a, b, val) do {(a) += (val); (b) -= (val);} while(0)
|
||||
#define icopy(n, a, b) (int *)memcpy((void *)(b), (void *)(a), sizeof(int)*(n))
|
||||
#define icopy(n, a, b) (int *)memcpy((void *)(b), (void *)(a), sizeof(int)*(n))
|
||||
#define idxcopy(n, a, b) (idxtype *)memcpy((void *)(b), (void *)(a), sizeof(idxtype)*(n))
|
||||
#define scopy(n, a, b) (double *)memcpy((void *)(b), (void *)(a), sizeof(double)*(n))
|
||||
#define fcopy(n, a, b) (double *)memcpy((void *)(b), (void *)(a), sizeof(double)*(n))
|
||||
|
@ -128,7 +128,7 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
#define stoptimer(tmr) (tmr += seconds())
|
||||
#define gettimer(tmr) (tmr)
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------
|
||||
* Debuging memory leaks
|
||||
*-------------------------------------------------------------*/
|
||||
|
@ -153,7 +153,7 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
}
|
||||
#else
|
||||
# define MALLOC_CHECK(ptr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*-------------------------------------------------------------
|
||||
|
@ -164,7 +164,7 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
for (i=1; i<n; i++) a[i] += a[i-1]; \
|
||||
for (i=n; i>0; i--) a[i] = a[i-1]; \
|
||||
a[0] = 0; \
|
||||
} while(0)
|
||||
} while(0)
|
||||
|
||||
|
||||
/*-------------------------------------------------------------
|
||||
|
@ -179,7 +179,7 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
}
|
||||
#else
|
||||
# define ASSERT(expr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
# define ASSERTP(expr,msg) \
|
||||
|
@ -192,7 +192,7 @@ typedef struct realKeyValueType realKeyValueType;
|
|||
}
|
||||
#else
|
||||
# define ASSERTP(expr,msg) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -270,7 +270,7 @@ void ikeysort2(int, IKeyValueType *);
|
|||
void idxkeysort2(int, idxKeyValueType *);
|
||||
|
||||
/*-------------------------------------------------------------
|
||||
* sort.c
|
||||
* sort.c
|
||||
*-------------------------------------------------------------*/
|
||||
void ikeyvalsort_org(int, IKeyValueType *);
|
||||
int IncKeyValueCmp(const void *, const void *);
|
||||
|
|
|
@ -27,7 +27,7 @@ void MGridGen(int nvtxs, idxtype *xadj, realtype *vvol, realtype *vsurf,
|
|||
srand48(7654321L);
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* Set up the various control structures
|
||||
* Set up the various control structures
|
||||
*------------------------------------------------------------*/
|
||||
ctrl.CType = options[OPTION_CTYPE];
|
||||
ctrl.RType = options[OPTION_RTYPE];
|
||||
|
@ -68,7 +68,7 @@ void MGridGenRefine(int nvtxs, idxtype *xadj, realtype *vvol, realtype *vsurf,
|
|||
srand48(7654321L);
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* Set up the various control structures
|
||||
* Set up the various control structures
|
||||
*------------------------------------------------------------*/
|
||||
ctrl.CType = options[OPTION_CTYPE];
|
||||
ctrl.RType = options[OPTION_RTYPE];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#--------------------------------------------------------------------------
|
||||
# Which make to use
|
||||
# Which make to use
|
||||
make = gmake
|
||||
|
||||
# Which compiler to use
|
||||
|
@ -12,7 +12,7 @@ PARCC = gcc
|
|||
OPTFLAGS = -O3
|
||||
|
||||
# What options to be used by the compiler
|
||||
COPTIONS =
|
||||
COPTIONS =
|
||||
|
||||
# Which loader to use
|
||||
LD = gcc
|
||||
|
@ -21,7 +21,7 @@ PARLD = gcc
|
|||
# What options to be used by the loader
|
||||
LDOPTIONS = -O3
|
||||
|
||||
# Where to put the executable
|
||||
# Where to put the executable
|
||||
BINDIR = ../..
|
||||
|
||||
# Additional libraries
|
||||
|
@ -51,7 +51,7 @@ AR = ar rv
|
|||
RANLIB = ar -ts
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
# Do not change any of the following
|
||||
#
|
||||
VERNUM = 1.0
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#define XOR(a, b) ((a) < 0 ? -((-(a))^(b)) : ((a)^(b)))
|
||||
|
||||
#define SWAP(a, b, tmp) \
|
||||
do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
|
||||
#define INC_DEC(a, b, val) \
|
||||
do {(a) += (val); (b) -= (val);} while(0)
|
||||
|
@ -75,7 +75,7 @@
|
|||
}
|
||||
#else
|
||||
# define MALLOC_CHECK(ptr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*************************************************************************
|
||||
* This macro converts a length array in a CSR one
|
||||
|
@ -85,7 +85,7 @@
|
|||
for (i=1; i<n; i++) a[i] += a[i-1]; \
|
||||
for (i=n; i>0; i--) a[i] = a[i-1]; \
|
||||
a[0] = 0; \
|
||||
} while(0)
|
||||
} while(0)
|
||||
|
||||
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERT(ctrl, expr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
# define ASSERTP(ctrl, expr,msg) \
|
||||
|
@ -111,7 +111,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTP(ctrl, expr,msg) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGS
|
||||
# define ASSERTS(expr) \
|
||||
|
@ -122,7 +122,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTS(expr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGS
|
||||
# define ASSERTSP(expr, msg) \
|
||||
|
@ -134,4 +134,4 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTSP(expr, msg) ;
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
/*************************************************************************
|
||||
* This macro is used to normalize the weights of two nodes
|
||||
**************************************************************************/
|
||||
#define ARATIO1(dim, surf, vol) ((dim == 2) ? (pow((surf), 2)/(vol)) : (pow((surf), 1.5)/(vol)))
|
||||
#define ARATIO1(dim, surf, vol) ((dim == 2) ? (pow((surf), 2)/(vol)) : (pow((surf), 1.5)/(vol)))
|
||||
#define ARATIO(dim, surf, vol) ((dim == 2) ? ((surf)*(surf)/(vol)) : (sqrt((surf)*(surf)*(surf))/(vol)))
|
||||
#define ARATIO2(dim, surf, vol) ((dim == 2) ? ((surf)*(surf)*(surf)*(surf)/(vol)*(vol)) : ((surf)*(surf)*(surf)/((vol)*(vol))))
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
#define XOR(a, b) ((a) < 0 ? -((-(a))^(b)) : ((a)^(b)))
|
||||
|
||||
#define SWAP(a, b, tmp) \
|
||||
do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
do {(tmp) = (a); (a) = (b); (b) = (tmp);} while(0)
|
||||
|
||||
#define INC_DEC(a, b, val) \
|
||||
do {(a) += (val); (b) -= (val);} while(0)
|
||||
|
@ -70,7 +70,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERT(ctrl, expr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
# define ASSERTP(ctrl, expr,msg) \
|
||||
|
@ -82,7 +82,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTP(ctrl, expr,msg) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGS
|
||||
# define ASSERTS(expr) \
|
||||
|
@ -93,7 +93,7 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTS(expr) ;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGS
|
||||
# define ASSERTSP(expr, msg) \
|
||||
|
@ -105,4 +105,4 @@
|
|||
}
|
||||
#else
|
||||
# define ASSERTSP(expr, msg) ;
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef __MSC__
|
||||
#ifdef __MSC__
|
||||
#include "ms_stdint.h"
|
||||
#include "ms_inttypes.h"
|
||||
#include "ms_stat.h"
|
||||
|
@ -60,7 +60,7 @@ typedef ptrdiff_t ssize_t;
|
|||
|
||||
#ifdef __MSC__
|
||||
/* MSC does not have rint() function */
|
||||
#define rint(x) ((int)((x)+0.5))
|
||||
#define rint(x) ((int)((x)+0.5))
|
||||
|
||||
/* MSC does not have INFINITY defined */
|
||||
#ifndef INFINITY
|
||||
|
|
|
@ -18,30 +18,30 @@
|
|||
//extern int gk_optopt;
|
||||
|
||||
|
||||
/*! \brief The structure that stores the information about the command-line options
|
||||
/*! \brief The structure that stores the information about the command-line options
|
||||
|
||||
This structure describes a single long option name for the sake of
|
||||
gk_getopt_long(). The argument <tt>long_options</tt> must be an array
|
||||
of these structures, one for each long option. Terminate the array with
|
||||
This structure describes a single long option name for the sake of
|
||||
gk_getopt_long(). The argument <tt>long_options</tt> must be an array
|
||||
of these structures, one for each long option. Terminate the array with
|
||||
an element containing all zeros.
|
||||
*/
|
||||
struct gk_option {
|
||||
char *name; /*!< This field is the name of the option. */
|
||||
int has_arg; /*!< This field says whether the option takes an argument.
|
||||
It is an integer, and there are three legitimate values:
|
||||
no_argument, required_argument and optional_argument.
|
||||
int has_arg; /*!< This field says whether the option takes an argument.
|
||||
It is an integer, and there are three legitimate values:
|
||||
no_argument, required_argument and optional_argument.
|
||||
*/
|
||||
int *flag; /*!< See the discussion on ::gk_option#val */
|
||||
int val; /*!< These fields control how to report or act on the option
|
||||
when it occurs.
|
||||
|
||||
If flag is a null pointer, then the val is a value which
|
||||
identifies this option. Often these values are chosen
|
||||
int val; /*!< These fields control how to report or act on the option
|
||||
when it occurs.
|
||||
|
||||
If flag is a null pointer, then the val is a value which
|
||||
identifies this option. Often these values are chosen
|
||||
to uniquely identify particular long options.
|
||||
|
||||
If flag is not a null pointer, it should be the address
|
||||
of an int variable which is the flag for this option.
|
||||
The value in val is the value to store in the flag to
|
||||
If flag is not a null pointer, it should be the address
|
||||
of an int variable which is the flag for this option.
|
||||
The value in val is the value to store in the flag to
|
||||
indicate that the option was seen. */
|
||||
};
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef __MSC__
|
||||
#ifdef __MSC__
|
||||
#include "ms_stdint.h"
|
||||
#include "ms_inttypes.h"
|
||||
#include "ms_stat.h"
|
||||
|
@ -60,7 +60,7 @@ typedef ptrdiff_t ssize_t;
|
|||
|
||||
#ifdef __MSC__
|
||||
/* MSC does not have rint() function */
|
||||
#define rint(x) ((int)((x)+0.5))
|
||||
#define rint(x) ((int)((x)+0.5))
|
||||
|
||||
/* MSC does not have INFINITY defined */
|
||||
#ifndef INFINITY
|
||||
|
|
|
@ -18,30 +18,30 @@
|
|||
//extern int gk_optopt;
|
||||
|
||||
|
||||
/*! \brief The structure that stores the information about the command-line options
|
||||
/*! \brief The structure that stores the information about the command-line options
|
||||
|
||||
This structure describes a single long option name for the sake of
|
||||
gk_getopt_long(). The argument <tt>long_options</tt> must be an array
|
||||
of these structures, one for each long option. Terminate the array with
|
||||
This structure describes a single long option name for the sake of
|
||||
gk_getopt_long(). The argument <tt>long_options</tt> must be an array
|
||||
of these structures, one for each long option. Terminate the array with
|
||||
an element containing all zeros.
|
||||
*/
|
||||
struct gk_option {
|
||||
char *name; /*!< This field is the name of the option. */
|
||||
int has_arg; /*!< This field says whether the option takes an argument.
|
||||
It is an integer, and there are three legitimate values:
|
||||
no_argument, required_argument and optional_argument.
|
||||
int has_arg; /*!< This field says whether the option takes an argument.
|
||||
It is an integer, and there are three legitimate values:
|
||||
no_argument, required_argument and optional_argument.
|
||||
*/
|
||||
int *flag; /*!< See the discussion on ::gk_option#val */
|
||||
int val; /*!< These fields control how to report or act on the option
|
||||
when it occurs.
|
||||
|
||||
If flag is a null pointer, then the val is a value which
|
||||
identifies this option. Often these values are chosen
|
||||
int val; /*!< These fields control how to report or act on the option
|
||||
when it occurs.
|
||||
|
||||
If flag is a null pointer, then the val is a value which
|
||||
identifies this option. Often these values are chosen
|
||||
to uniquely identify particular long options.
|
||||
|
||||
If flag is not a null pointer, it should be the address
|
||||
of an int variable which is the flag for this option.
|
||||
The value in val is the value to store in the flag to
|
||||
If flag is not a null pointer, it should be the address
|
||||
of an int variable which is the flag for this option.
|
||||
The value in val is the value to store in the flag to
|
||||
indicate that the option was seen. */
|
||||
};
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* Purpose:
|
||||
* Provides an implementation of POSIX realtime extensions
|
||||
* as defined in
|
||||
* as defined in
|
||||
*
|
||||
* POSIX 1003.1b-1993 (POSIX.1b)
|
||||
*
|
||||
|
@ -12,25 +12,25 @@
|
|||
* Pthreads-win32 - POSIX Threads Library for Win32
|
||||
* Copyright(C) 1998 John E. Bossom
|
||||
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
||||
*
|
||||
*
|
||||
* Contact Email: rpj@callisto.canberra.edu.au
|
||||
*
|
||||
*
|
||||
* The current list of contributors is contained
|
||||
* in the file CONTRIBUTORS included with the source
|
||||
* code distribution. The list can also be seen at the
|
||||
* following World Wide Web location:
|
||||
* http://sources.redhat.com/pthreads-win32/contributors.html
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library in the file COPYING.LIB;
|
||||
* if not, write to the Free Software Foundation, Inc.,
|
||||
|
@ -180,4 +180,3 @@ PTW32_DLLPORT int __cdecl sched_getscheduler (pid_t pid);
|
|||
#undef PTW32_SCHED_LEVEL_MAX
|
||||
|
||||
#endif /* !_SCHED_H */
|
||||
|
||||
|
|
|
@ -23,14 +23,14 @@ ARFLAGS = -ruv
|
|||
CAT = cat
|
||||
CCS = gcc
|
||||
CCP = mpicc
|
||||
CCD = mpicc -I$(MPI_ROOTDIR)/include
|
||||
CCD = mpicc -I$(MPI_ROOTDIR)/include
|
||||
|
||||
#--- Compiler/loader flags
|
||||
CFLAGS_CPL = -O0 -g3 --std=c99
|
||||
CFLAGS_INC =
|
||||
CFLAGS_INC =
|
||||
CFLAGS_DEF = -DCOMMON_RANDOM_FIXED_SEED -DCOMMON_STUB_FORK -DSCOTCH_PTSCOTCH -DSCOTCH_RENAME -D'pipe(pfds)=_pipe(pfds,1024,0x8000)' -DHAVE_STDINT_H=0 -DHAVE_UINT_T=1
|
||||
CLIBFLAGS =
|
||||
LDFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
PGMFILES=$(PROGRAMFILES)
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
#ifndef RAND48_H
|
||||
#define RAND48_H
|
||||
|
||||
#define drand48() (rand()*(1./RAND_MAX))
|
||||
static long _rand = 1;
|
||||
|
||||
static __inline__ void srand48(long seed)
|
||||
{
|
||||
_rand = seed;
|
||||
}
|
||||
|
||||
static __inline__ long lrand48(void)
|
||||
{
|
||||
long val = (int)(abs(10000.0*sin(_rand)));
|
||||
_rand++;
|
||||
return val;
|
||||
}
|
||||
|
||||
#endif //RAND48_H
|
||||
#ifndef RAND48_H
|
||||
#define RAND48_H
|
||||
|
||||
#define drand48() (rand()*(1./RAND_MAX))
|
||||
static long _rand = 1;
|
||||
|
||||
static __inline__ void srand48(long seed)
|
||||
{
|
||||
_rand = seed;
|
||||
}
|
||||
|
||||
static __inline__ long lrand48(void)
|
||||
{
|
||||
long val = (int)(abs(10000.0*sin(_rand)));
|
||||
_rand++;
|
||||
return val;
|
||||
}
|
||||
|
||||
#endif //RAND48_H
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
// From http://www.linuxjournal.com/article/5574
|
||||
|
||||
#ifndef _TIMES_H
|
||||
#define _TIMES_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <sys/timeb.h>
|
||||
#include <sys/types.h>
|
||||
#include <winsock2.h>
|
||||
|
||||
int gettimeofday(struct timeval* t,void* timezone);
|
||||
|
||||
// from linux's sys/times.h
|
||||
|
||||
//#include <features.h>
|
||||
|
||||
#define __need_clock_t
|
||||
#include <time.h>
|
||||
|
||||
|
||||
/* Structure describing CPU time used by a process and its children. */
|
||||
struct tms
|
||||
{
|
||||
clock_t tms_utime; /* User CPU time. */
|
||||
clock_t tms_stime; /* System CPU time. */
|
||||
|
||||
clock_t tms_cutime; /* User CPU time of dead children. */
|
||||
clock_t tms_cstime; /* System CPU time of dead children. */
|
||||
};
|
||||
|
||||
/* Store the CPU time used by this process and all its
|
||||
dead children (and their dead children) in BUFFER.
|
||||
Return the elapsed real time, or (clock_t) -1 for errors.
|
||||
All times are in CLK_TCKths of a second. */
|
||||
clock_t times (struct tms *__buffer);
|
||||
|
||||
typedef long long suseconds_t ;
|
||||
|
||||
#endif
|
||||
// From http://www.linuxjournal.com/article/5574
|
||||
|
||||
#ifndef _TIMES_H
|
||||
#define _TIMES_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <sys/timeb.h>
|
||||
#include <sys/types.h>
|
||||
#include <winsock2.h>
|
||||
|
||||
int gettimeofday(struct timeval* t,void* timezone);
|
||||
|
||||
// from linux's sys/times.h
|
||||
|
||||
//#include <features.h>
|
||||
|
||||
#define __need_clock_t
|
||||
#include <time.h>
|
||||
|
||||
|
||||
/* Structure describing CPU time used by a process and its children. */
|
||||
struct tms
|
||||
{
|
||||
clock_t tms_utime; /* User CPU time. */
|
||||
clock_t tms_stime; /* System CPU time. */
|
||||
|
||||
clock_t tms_cutime; /* User CPU time of dead children. */
|
||||
clock_t tms_cstime; /* System CPU time of dead children. */
|
||||
};
|
||||
|
||||
/* Store the CPU time used by this process and all its
|
||||
dead children (and their dead children) in BUFFER.
|
||||
Return the elapsed real time, or (clock_t) -1 for errors.
|
||||
All times are in CLK_TCKths of a second. */
|
||||
clock_t times (struct tms *__buffer);
|
||||
|
||||
typedef long long suseconds_t ;
|
||||
|
||||
#endif
|
||||
#endif
|
|
@ -47,9 +47,9 @@ set_system_paths() {
|
|||
export PARAVIEW_HOME=$PROGRAMS_HOME/ParaView-4.3.1
|
||||
#export PERL_HOME=$PROGRAMS_HOME/strawberry-perl-5.20.2.1-64bit/perl
|
||||
export PEXPORTS_HOME=$PROGRAMS_HOME/pexports
|
||||
export PYTHON_HOME=$PROGRAMS_HOME/Python27
|
||||
export SUBVERSION_HOME=$PROGRAMS_HOME/svn-win32-1.8.13
|
||||
export WGET_HOME=$PROGRAMS_HOME/wget
|
||||
#export PYTHON_HOME=$PROGRAMS_HOME/Python27
|
||||
#export SUBVERSION_HOME=$PROGRAMS_HOME/svn-win32-1.8.13
|
||||
export WGET_HOME=$PROGRAMS_HOME/wget-1.11.4-1
|
||||
export ZIP_HOME="/c/Program Files/7-Zip"
|
||||
}
|
||||
|
||||
|
@ -58,13 +58,13 @@ add_to_path() {
|
|||
echo "Adding user-defined installed system tools to PATH ..."
|
||||
export PATH=$ZIP_HOME:$PATH
|
||||
export PATH=$WGET_HOME/bin:$PATH
|
||||
export PATH=$PYTHON_HOME:$PATH
|
||||
export PATH=$SUBVERSION_HOME/bin:$PATH
|
||||
#export PATH=$PYTHON_HOME:$PATH
|
||||
#export PATH=$SUBVERSION_HOME/bin:$PATH
|
||||
export PATH=$GIT_HOME/cmd:$PATH
|
||||
#export PATH=$PERL_HOME/bin:$PATH
|
||||
export PATH=$CMAKE_HOME/bin:$PATH
|
||||
export PATH=$MPI_ROOTDIR/bin:$PATH
|
||||
export PATH=$PEXPORTS_HOME:$PATH
|
||||
export PATH=$PEXPORTS_HOME/bin:$PATH
|
||||
export PATH=$MINGW_HOME/bin:$PATH
|
||||
}
|
||||
# }}}
|
||||
|
|
|
@ -504,13 +504,6 @@ esac
|
|||
_foamAddLib $FOAM_MPI_LIBBIN
|
||||
|
||||
|
||||
# Add DLLs on PATH for Windows (cannot use LD_LIBRARY_PATH)
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if [ "$WM_ARCH_BASE" == "mingw" ]
|
||||
then
|
||||
_foamAddPath $FOAM_LIBBIN $FOAM_LIBBIN/$mpi_version
|
||||
fi
|
||||
|
||||
# Set the minimum MPI buffer size (used by all platforms except SGI MPI)
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
minBufferSize=20000000
|
||||
|
|
|
@ -44,7 +44,7 @@ Description
|
|||
|
||||
defineTypeNameAndDebug(Foam::MSwindows, 0);
|
||||
|
||||
namespace Foam
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// Don't abort under windows, causes abort dialog to
|
||||
|
@ -80,10 +80,10 @@ std::string MSwindows::getLastError()
|
|||
|
||||
LPVOID lpMsgBuf;
|
||||
LPVOID lpDisplayBuf;
|
||||
DWORD dw = GetLastError();
|
||||
DWORD dw = GetLastError();
|
||||
|
||||
FormatMessage(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
|
@ -92,8 +92,8 @@ std::string MSwindows::getLastError()
|
|||
(LPTSTR) &lpMsgBuf,
|
||||
0, NULL );
|
||||
|
||||
lpDisplayBuf = LocalAlloc(LMEM_ZEROINIT,
|
||||
(lstrlen(static_cast<LPCTSTR>(lpMsgBuf))+40)*sizeof(TCHAR));
|
||||
lpDisplayBuf = LocalAlloc(LMEM_ZEROINIT,
|
||||
(lstrlen(static_cast<LPCTSTR>(lpMsgBuf))+40)*sizeof(TCHAR));
|
||||
sprintf(static_cast<LPTSTR>(lpDisplayBuf),
|
||||
"Error %d: %s", int(dw), static_cast<LPCTSTR>(lpMsgBuf));
|
||||
|
||||
|
@ -115,10 +115,10 @@ namespace MSwindows
|
|||
//- Remove quotes, if any, from std::string
|
||||
void removeQuotes(std::string & arg);
|
||||
|
||||
//- Convert windows directory slash (back-slash) to unix (forward-slash).
|
||||
//- Convert windows directory slash (back-slash) to unix (forward-slash).
|
||||
//- Windows is fine with unix like directory slashes.
|
||||
//- Foam's file io (see src/OpenFOAM/db/IOstreams/Sstreams/OSwrite.C)
|
||||
//- uses back-slash as escape character and continuation,
|
||||
//- Foam's file io (see src/OpenFOAM/db/IOstreams/Sstreams/OSwrite.C)
|
||||
//- uses back-slash as escape character and continuation,
|
||||
//- so not an option to have windows file paths with back-slashes
|
||||
void toUnixSlash(string & arg);
|
||||
|
||||
|
@ -144,17 +144,17 @@ namespace MSwindows
|
|||
HANDLE findHandle_;
|
||||
fileName nextName_;
|
||||
bool hasMore_;
|
||||
|
||||
|
||||
public:
|
||||
DirectoryIterator(const fileName & directory);
|
||||
~DirectoryIterator();
|
||||
|
||||
|
||||
//- Initialization succeeded
|
||||
bool isValid() const;
|
||||
|
||||
//- Has more?
|
||||
bool hasNext() const;
|
||||
|
||||
|
||||
//- Next item
|
||||
const fileName & next();
|
||||
}; // class DirectoryIterator
|
||||
|
@ -181,7 +181,7 @@ void MSwindows::toUnixSlash(string & arg)
|
|||
const std::string UNC("//");
|
||||
|
||||
// Preserve UNC i.e., \\machine-name\...
|
||||
if (0 == arg.find(UNC))
|
||||
if (0 == arg.find(UNC))
|
||||
{
|
||||
arg.replace(UNC, "\\\\");
|
||||
}
|
||||
|
@ -201,10 +201,10 @@ std::string MSwindows::getUserName()
|
|||
{
|
||||
nameAsString = buffer;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (ERROR_INSUFFICIENT_BUFFER == ::GetLastError() &&
|
||||
32768 > actualBufferSize)
|
||||
32768 > actualBufferSize)
|
||||
{
|
||||
AutoArray<TCHAR> actualBuffer(actualBufferSize);
|
||||
::GetUserName(actualBuffer.get(), &actualBufferSize);
|
||||
|
@ -246,18 +246,18 @@ bool MSwindows::DirectoryIterator::isValid() const
|
|||
return valid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
MSwindows::DirectoryIterator::DirectoryIterator(const fileName & directory)
|
||||
{
|
||||
const fileName directoryContents = directory/"*";
|
||||
findHandle_ = ::FindFirstFile(directoryContents.c_str(), &findData_);
|
||||
hasMore_ = isValid();
|
||||
}
|
||||
|
||||
|
||||
|
||||
MSwindows::DirectoryIterator::~DirectoryIterator()
|
||||
{
|
||||
if (isValid())
|
||||
if (isValid())
|
||||
{
|
||||
::FindClose(findHandle_);
|
||||
}
|
||||
|
@ -332,7 +332,7 @@ std::string toUnixPath(const std::string & path)
|
|||
|
||||
bool env(const word& envName)
|
||||
{
|
||||
const DWORD actualBufferSize =
|
||||
const DWORD actualBufferSize =
|
||||
::GetEnvironmentVariable(envName.c_str(), NULL, 0);
|
||||
|
||||
const bool envExists = (0 < actualBufferSize);
|
||||
|
@ -344,10 +344,10 @@ string getEnv(const word& envName)
|
|||
{
|
||||
std::string envAsString;
|
||||
|
||||
const DWORD actualBufferSize =
|
||||
const DWORD actualBufferSize =
|
||||
::GetEnvironmentVariable(envName.c_str(), NULL, 0);
|
||||
|
||||
if (0 < actualBufferSize)
|
||||
if (0 < actualBufferSize)
|
||||
{
|
||||
MSwindows::AutoArray<TCHAR> actualBuffer(actualBufferSize);
|
||||
::GetEnvironmentVariable(envName.c_str(),
|
||||
|
@ -368,7 +368,7 @@ bool setEnv
|
|||
const bool overwrite
|
||||
)
|
||||
{
|
||||
const bool success =
|
||||
const bool success =
|
||||
::SetEnvironmentVariable(envName.c_str(), value.c_str());
|
||||
return success;
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ word hostName()
|
|||
TCHAR buffer[bufferSize];
|
||||
DWORD actualBufferSize = bufferSize;
|
||||
|
||||
const bool success =
|
||||
const bool success =
|
||||
::GetComputerName(buffer, &actualBufferSize);
|
||||
const string computerName = success ? buffer : string::null;
|
||||
return computerName;
|
||||
|
@ -401,7 +401,7 @@ word userName()
|
|||
{
|
||||
std::string name = getEnv("USERNAME");
|
||||
|
||||
if (name.empty())
|
||||
if (name.empty())
|
||||
{
|
||||
name = MSwindows::getUserName();
|
||||
}
|
||||
|
@ -421,7 +421,7 @@ fileName home()
|
|||
{
|
||||
std::string homeDir = getEnv("HOME");
|
||||
|
||||
if (homeDir.empty())
|
||||
if (homeDir.empty())
|
||||
{
|
||||
homeDir = getEnv("USERPROFILE");
|
||||
}
|
||||
|
@ -440,18 +440,18 @@ fileName cwd()
|
|||
{
|
||||
string currentDirectory;
|
||||
|
||||
const DWORD actualBufferSize =
|
||||
const DWORD actualBufferSize =
|
||||
::GetCurrentDirectory(0, NULL);
|
||||
|
||||
if (0 < actualBufferSize)
|
||||
if (0 < actualBufferSize)
|
||||
{
|
||||
MSwindows::AutoArray<TCHAR> actualBuffer(actualBufferSize);
|
||||
::GetCurrentDirectory(actualBufferSize,
|
||||
actualBuffer.get());
|
||||
actualBuffer.get());
|
||||
currentDirectory = actualBuffer.get();
|
||||
MSwindows::toUnixSlash(currentDirectory);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
FatalErrorIn("cwd()")
|
||||
<< "Couldn't get the current working directory"
|
||||
|
@ -465,7 +465,7 @@ fileName cwd()
|
|||
bool chDir(const fileName& dir)
|
||||
{
|
||||
const bool success = ::SetCurrentDirectory(dir.c_str());
|
||||
return success;
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
|
@ -690,7 +690,7 @@ bool mkDir(const fileName& pathName, const mode_t mode)
|
|||
{
|
||||
chMod(pathName, mode);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
const DWORD error = ::GetLastError();
|
||||
|
||||
|
@ -710,12 +710,12 @@ bool mkDir(const fileName& pathName, const mode_t mode)
|
|||
{
|
||||
success = mkDir(pathName, mode);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!success)
|
||||
if (!success)
|
||||
{
|
||||
FatalErrorIn("mkDir(const fileName&, mode_t)")
|
||||
<< "Couldn't create directory: " << pathName
|
||||
|
@ -753,7 +753,7 @@ fileName::Type type(const fileName& name)
|
|||
fileName::Type fileType = fileName::UNDEFINED;
|
||||
const DWORD attrs = ::GetFileAttributes(name.c_str());
|
||||
|
||||
if (attrs != INVALID_FILE_ATTRIBUTES)
|
||||
if (attrs != INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
fileType = (attrs & FILE_ATTRIBUTE_DIRECTORY) ?
|
||||
fileName::DIRECTORY :
|
||||
|
@ -765,7 +765,7 @@ fileName::Type type(const fileName& name)
|
|||
|
||||
|
||||
static
|
||||
bool
|
||||
bool
|
||||
isGzFile(const fileName& name)
|
||||
{
|
||||
std::string gzName(name);
|
||||
|
@ -781,7 +781,7 @@ isGzFile(const fileName& name)
|
|||
bool exists(const fileName& name, const bool checkGzip)
|
||||
{
|
||||
const DWORD attrs = ::GetFileAttributes(name.c_str());
|
||||
const bool success = (attrs != INVALID_FILE_ATTRIBUTES) ||
|
||||
const bool success = (attrs != INVALID_FILE_ATTRIBUTES) ||
|
||||
(checkGzip && isGzFile(name));
|
||||
|
||||
return success;
|
||||
|
@ -803,8 +803,8 @@ bool isDir(const fileName& name)
|
|||
bool isFile(const fileName& name, const bool checkGzip)
|
||||
{
|
||||
const DWORD attrs = ::GetFileAttributes(name.c_str());
|
||||
const bool success = ((attrs != INVALID_FILE_ATTRIBUTES) &&
|
||||
!(attrs & FILE_ATTRIBUTE_DIRECTORY)) ||
|
||||
const bool success = ((attrs != INVALID_FILE_ATTRIBUTES) &&
|
||||
!(attrs & FILE_ATTRIBUTE_DIRECTORY)) ||
|
||||
(checkGzip && isGzFile(name));
|
||||
|
||||
return success;
|
||||
|
@ -913,7 +913,7 @@ fileNameList readDir
|
|||
|
||||
// Reset the length of the entries list
|
||||
dirEntries.setSize(nEntries);
|
||||
|
||||
|
||||
return dirEntries;
|
||||
}
|
||||
|
||||
|
@ -947,16 +947,16 @@ bool cp(const fileName& src, const fileName& dest)
|
|||
// Open and check streams.
|
||||
// Use binary mode in case we read binary.
|
||||
// Causes windows reading to fail if we don't.
|
||||
std::ifstream srcStream(src.c_str(),
|
||||
ios_base::in|ios_base::binary);
|
||||
if (!srcStream)
|
||||
std::ifstream srcStream(src.c_str(),
|
||||
ios_base::in|ios_base::binary);
|
||||
if (!srcStream)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Use binary mode in case we write binary.
|
||||
// Causes windows reading to fail if we don't.
|
||||
std::ofstream destStream(destFile.c_str(),
|
||||
std::ofstream destStream(destFile.c_str(),
|
||||
ios_base::out|ios_base::binary);
|
||||
if (!destStream)
|
||||
{
|
||||
|
@ -996,7 +996,7 @@ bool cp(const fileName& src, const fileName& dest)
|
|||
{
|
||||
if (MSwindows::debug)
|
||||
{
|
||||
Info<< "Copying : " << src/contents[i]
|
||||
Info<< "Copying : " << src/contents[i]
|
||||
<< " to " << destFile/contents[i] << endl;
|
||||
}
|
||||
|
||||
|
@ -1047,13 +1047,13 @@ bool mv(const fileName& srcFile, const fileName& destFile)
|
|||
Info<< "Move : " << srcFile << " to " << destFile << endl;
|
||||
}
|
||||
|
||||
const fileName destName =
|
||||
const fileName destName =
|
||||
((destFile.type() == fileName::DIRECTORY)
|
||||
&& (srcFile.type() != fileName::DIRECTORY)) ?
|
||||
destFile/srcFile.name() :
|
||||
destFile;
|
||||
|
||||
const bool success =
|
||||
const bool success =
|
||||
(0 == std::rename(srcFile.c_str(), destName.c_str()));
|
||||
|
||||
return success;
|
||||
|
@ -1109,7 +1109,7 @@ bool rm(const fileName& file)
|
|||
bool success = (0 == std::remove(file.c_str()));
|
||||
|
||||
// If deleting plain file name failed try with .gz
|
||||
if (!success)
|
||||
if (!success)
|
||||
{
|
||||
const std::string fileGz = file + ".gz";
|
||||
success = (0 == std::remove(fileGz.c_str()));
|
||||
|
@ -1137,7 +1137,7 @@ bool rmDir(const fileName& directory)
|
|||
|
||||
while (success && dirIt.hasNext())
|
||||
{
|
||||
const fileName & fName = dirIt.next();
|
||||
const fileName & fName = dirIt.next();
|
||||
|
||||
if (fName != "." && fName != "..")
|
||||
{
|
||||
|
@ -1170,12 +1170,12 @@ bool rmDir(const fileName& directory)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (success)
|
||||
|
||||
if (success)
|
||||
{
|
||||
success = ::RemoveDirectory(directory.c_str());
|
||||
|
||||
if (!success)
|
||||
if (!success)
|
||||
{
|
||||
WarningIn("rmdir(const fileName&)")
|
||||
<< "failed to remove directory " << directory << endl;
|
||||
|
@ -1207,7 +1207,7 @@ void fdClose(const int fd)
|
|||
(
|
||||
"Foam::fdClose(const int fd)"
|
||||
) << "close error on " << fd << endl
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1246,7 +1246,7 @@ int system(const string& command)
|
|||
|
||||
|
||||
// Explicitly track loaded libraries, rather than use
|
||||
// EnumerateLoadedModules64 and have to link against
|
||||
// EnumerateLoadedModules64 and have to link against
|
||||
// Dbghelp.dll
|
||||
// Details at http://msdn.microsoft.com/en-us/library/ms679316(v=vs.85).aspx
|
||||
typedef std::map<void*, std::string> OfLoadedLibs;
|
||||
|
@ -1282,11 +1282,11 @@ void* dlOpen(const fileName& libName, const bool check)
|
|||
winLibName = "lib";
|
||||
winLibName += libName;
|
||||
winLibName += dllExt;
|
||||
|
||||
|
||||
handle = ::LoadLibrary(winLibName.c_str());
|
||||
}
|
||||
|
||||
if (NULL != handle)
|
||||
if (NULL != handle)
|
||||
{
|
||||
getLoadedLibs()[handle] = libName;
|
||||
}
|
||||
|
@ -1317,14 +1317,14 @@ bool dlClose(void* const handle)
|
|||
<< " : FreeLibrary of handle " << handle << endl;
|
||||
}
|
||||
|
||||
const bool success =
|
||||
const bool success =
|
||||
::FreeLibrary(static_cast<HMODULE>(handle));
|
||||
|
||||
|
||||
if (success)
|
||||
{
|
||||
getLoadedLibs().erase(handle);
|
||||
}
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
|
|
@ -644,7 +644,7 @@ template <class CHART> inline int CBoundaryElxT <CHART> :: IsWordChar(CHART ch)
|
|||
//
|
||||
// Bracket
|
||||
//
|
||||
template <class CHART> class CBracketElxT : public ElxInterface
|
||||
template <class CHART> class CBracketElxT : public ElxInterface
|
||||
{
|
||||
public:
|
||||
int Match (CContext * pContext) const;
|
||||
|
@ -782,7 +782,7 @@ template <class CHART> int CBracketElxT <CHART> :: MatchNext(CContext * pContext
|
|||
//
|
||||
// Deletage
|
||||
//
|
||||
template <class CHART> class CDelegateElxT : public ElxInterface
|
||||
template <class CHART> class CDelegateElxT : public ElxInterface
|
||||
{
|
||||
public:
|
||||
int Match (CContext * pContext) const;
|
||||
|
@ -2993,7 +2993,7 @@ template <class CHART> ElxInterface * CBuilderT <CHART> :: BuildRecursive(int &
|
|||
m_grouplist[nThisBackref] = pList;
|
||||
|
||||
// right
|
||||
MoveNext(); // skip ')'
|
||||
MoveNext(); // skip ')'
|
||||
|
||||
return pList;
|
||||
}
|
||||
|
|
|
@ -167,11 +167,11 @@ void printSourceFileAndLine
|
|||
// After an idea published by Rush Manbert at http://lists.apple.com/archives/xcode-users/2006/Apr/msg00528.html
|
||||
|
||||
template<int level>
|
||||
void *getStackAddress()
|
||||
void *getStackAddress()
|
||||
{
|
||||
const unsigned int stackLevel=level;
|
||||
return (
|
||||
__builtin_frame_address(level)
|
||||
__builtin_frame_address(level)
|
||||
? __builtin_return_address(stackLevel)
|
||||
: (void *)0
|
||||
);
|
||||
|
@ -212,7 +212,7 @@ void *getStackAddress(int level)
|
|||
}
|
||||
}
|
||||
|
||||
unsigned backtrace(void **bt, unsigned maxAddrs)
|
||||
unsigned backtrace(void **bt, unsigned maxAddrs)
|
||||
{
|
||||
unsigned valid=0;
|
||||
bool ok=true;
|
||||
|
@ -220,7 +220,7 @@ unsigned backtrace(void **bt, unsigned maxAddrs)
|
|||
for(int level=0;level<maxAddrs;level++) {
|
||||
if(ok) {
|
||||
bt[level]=getStackAddress(level);
|
||||
|
||||
|
||||
if(bt[level]!=(void *)0) {
|
||||
valid=level;
|
||||
} else {
|
||||
|
@ -235,7 +235,7 @@ unsigned backtrace(void **bt, unsigned maxAddrs)
|
|||
}
|
||||
|
||||
// This function is a potential memory leak. But I don't care because the program is terminating anyway
|
||||
char **backtrace_symbols(void **bt,unsigned nr)
|
||||
char **backtrace_symbols(void **bt,unsigned nr)
|
||||
{
|
||||
char **strings=(char **)malloc(sizeof(char *)*nr);
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ License
|
|||
// Boost http://www.boost.org/libs/regex/doc/
|
||||
// GRETA http://research.microsoft.com/projects/greta/
|
||||
// Henry Spencer's http://arglist.com/regex/
|
||||
//
|
||||
//
|
||||
// Chose DEELX http://www.regexlab.com/en/deelx/
|
||||
// for its ease of integration - one header file
|
||||
#include "deelx.h"
|
||||
|
@ -152,18 +152,18 @@ bool Foam::regExp::match(const string& str, List<string>& groups) const
|
|||
const MatchResult results = preg_->MatchExact(str.c_str());
|
||||
isMatch = (0 < results.IsMatched());
|
||||
|
||||
if( isMatch )
|
||||
if( isMatch )
|
||||
{
|
||||
int const notFound = -1;
|
||||
int start, end;
|
||||
const int groupsCount = results.MaxGroupNumber();
|
||||
groups.setSize(groupsCount);
|
||||
|
||||
|
||||
for (int i = 0; groupsCount > i; ++i)
|
||||
{
|
||||
start = results.GetGroupStart(i);
|
||||
end = results.GetGroupEnd(i);
|
||||
|
||||
|
||||
if ((notFound < start) && (notFound < end))
|
||||
{
|
||||
groups[i] = str.substr(start, end - start);
|
||||
|
|
|
@ -58,7 +58,7 @@ void Foam::sigFpe::sigFpeHandler(int)
|
|||
(
|
||||
"Foam::sigSegv::sigFpeHandler()"
|
||||
) << "Cannot reset SIGFPE trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
// Update jobInfo file
|
||||
|
@ -99,7 +99,7 @@ Foam::sigFpe::~sigFpe()
|
|||
(
|
||||
"Foam::sigFpe::~sigFpe()"
|
||||
) << "Cannot reset SIGFPE trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -134,11 +134,11 @@ void Foam::sigFpe::set(const bool verbose)
|
|||
}
|
||||
/*
|
||||
fpOld_ = _controlfp(0, 0);
|
||||
const unsigned int fpNew =
|
||||
const unsigned int fpNew =
|
||||
fpOld_ & ~(_EM_ZERODIVIDE | _EM_INVALID | _EM_OVERFLOW);
|
||||
_controlfp(fpNew, _MCW_EM);
|
||||
|
||||
oldAction_ = ::signal(SIGFPE, &Foam::sigFpe::sigFpeHandler);
|
||||
oldAction_ = ::signal(SIGFPE, &Foam::sigFpe::sigFpeHandler);
|
||||
|
||||
if( SIG_ERR == oldAction_ )
|
||||
{
|
||||
|
@ -148,7 +148,7 @@ void Foam::sigFpe::set(const bool verbose)
|
|||
(
|
||||
"Foam::sigFpe::set()"
|
||||
) << "Cannot set SIGFPE trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ void Foam::sigQuit::sigQuitHandler(int)
|
|||
(
|
||||
"Foam::sigQuit::sigQuitHandler()"
|
||||
) << "Cannot reset SIGQUIT trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
// Update jobInfo file
|
||||
|
@ -81,7 +81,7 @@ Foam::sigQuit::~sigQuit()
|
|||
{
|
||||
FatalErrorIn("Foam::sigQuit::~sigQuit()")
|
||||
<< "Cannot reset SIGBREAK trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ void Foam::sigQuit::set(const bool verbose)
|
|||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
oldAction_ = ::signal(SIGBREAK, &Foam::sigQuit::sigQuitHandler);
|
||||
oldAction_ = ::signal(SIGBREAK, &Foam::sigQuit::sigQuitHandler);
|
||||
|
||||
if( SIG_ERR == oldAction_ )
|
||||
{
|
||||
|
@ -110,7 +110,7 @@ void Foam::sigQuit::set(const bool verbose)
|
|||
(
|
||||
"Foam::sigQuit::set()"
|
||||
) << "Cannot set SIGQUIT trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ void Foam::sigSegv::sigSegvHandler(int)
|
|||
(
|
||||
"Foam::sigSegv::sigSegvHandler()"
|
||||
) << "Cannot reset SIGSEGV trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
// Update jobInfo file
|
||||
|
@ -81,7 +81,7 @@ Foam::sigSegv::~sigSegv()
|
|||
(
|
||||
"Foam::sigSegv::~sigSegv()"
|
||||
) << "Cannot reset SIGSEGV trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ void Foam::sigSegv::set(const bool verbose)
|
|||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
oldAction_ = ::signal(SIGSEGV, &Foam::sigSegv::sigSegvHandler);
|
||||
oldAction_ = ::signal(SIGSEGV, &Foam::sigSegv::sigSegvHandler);
|
||||
|
||||
if( SIG_ERR == oldAction_ )
|
||||
{
|
||||
|
@ -109,7 +109,7 @@ void Foam::sigSegv::set(const bool verbose)
|
|||
(
|
||||
"Foam::sigSegv::set()"
|
||||
) << "Cannot set SIGSEGV trapping"
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -108,15 +108,15 @@ Foam::timer::timer(const unsigned int newTimeOut)
|
|||
<< " seconds." << endl;
|
||||
}
|
||||
|
||||
const bool success =
|
||||
::CreateTimerQueueTimer(&hTimer_,
|
||||
NULL,
|
||||
const bool success =
|
||||
::CreateTimerQueueTimer(&hTimer_,
|
||||
NULL,
|
||||
(WAITORTIMERCALLBACK)timerExpired,
|
||||
NULL ,
|
||||
newTimeOut * 1000,
|
||||
NULL ,
|
||||
newTimeOut * 1000,
|
||||
0, 0);
|
||||
|
||||
if (!success)
|
||||
if (!success)
|
||||
{
|
||||
hTimer_ = NULL;
|
||||
FatalErrorIn
|
||||
|
@ -124,7 +124,7 @@ Foam::timer::timer(const unsigned int newTimeOut)
|
|||
"Foam::timer::timer(const unsigned int)"
|
||||
) << "CreateTimerQueueTimer, "
|
||||
<< MSwindows::getLastError()
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -137,18 +137,18 @@ Foam::timer::~timer()
|
|||
if (newTimeOut_ > 0)
|
||||
{
|
||||
// Reset timer
|
||||
const bool timerSuccess =
|
||||
const bool timerSuccess =
|
||||
::DeleteTimerQueueTimer(NULL, hTimer_, NULL);
|
||||
hTimer_ = NULL;
|
||||
|
||||
if (!timerSuccess)
|
||||
if (!timerSuccess)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"Foam::timer::~timer() "
|
||||
) << "DeleteTimerQueueTimer, "
|
||||
<< MSwindows::getLastError()
|
||||
<< abort(FatalError);
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
if (debug)
|
||||
|
|
|
@ -50,13 +50,13 @@ namespace fv
|
|||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
template<>
|
||||
template<> inline
|
||||
tmp<BlockLduSystem<vector, scalar> > gaussDivScheme<vector>::fvmUDiv
|
||||
(
|
||||
const GeometricField<vector, fvPatchField, volMesh>&
|
||||
) const;
|
||||
|
||||
template<>
|
||||
template<> inline
|
||||
tmp<BlockLduSystem<vector, scalar> > gaussDivScheme<vector>::fvmUDiv
|
||||
(
|
||||
const surfaceScalarField& flux,
|
||||
|
|
|
@ -24,5 +24,3 @@ EXE_INC = \
|
|||
LIB_LIBS = \
|
||||
-L$(PARMGRIDGEN_LIB_DIR) -lMGridGen
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
by bgschaid. 2010-10-06 on Centos 5.5 with gcc 4.1
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
PFLAGS =
|
||||
PINC = -I$(MPI_ARCH_PATH)/include
|
||||
PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi
|
||||
|
||||
|
|
Reference in a new issue