Compilation tweaks for mingw

This commit is contained in:
Dominik Christ 2015-08-04 13:39:06 +01:00
parent 0d734cb9c0
commit 7367164292
32 changed files with 820 additions and 833 deletions

View file

@ -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!"

View file

@ -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
# }}}

View file

@ -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
# }}}

View file

@ -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

View file

@ -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);
}
}

View 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 *);

View file

@ -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];

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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. */
};

View file

@ -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

View file

@ -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. */
};

View file

@ -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 */

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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
}
# }}}

View file

@ -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

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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);

View file

@ -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);

View file

@ -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);
}
*/
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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)

View file

@ -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,

View file

@ -24,5 +24,3 @@ EXE_INC = \
LIB_LIBS = \
-L$(PARMGRIDGEN_LIB_DIR) -lMGridGen
endif

View file

@ -1,2 +1 @@
by bgschaid. 2010-10-06 on Centos 5.5 with gcc 4.1

View file

@ -1,4 +1,3 @@
PFLAGS =
PINC = -I$(MPI_ARCH_PATH)/include
PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi