diff --git a/Allwmake.mingw b/Allwmake.mingw index 97e1b5b79..767b4008e 100644 --- a/Allwmake.mingw +++ b/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 . -# -# 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 . +# +# 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!" diff --git a/ThirdParty/mingwBuild/build.sh b/ThirdParty/mingwBuild/build.sh index 96919484d..f4002e8e2 100644 --- a/ThirdParty/mingwBuild/build.sh +++ b/ThirdParty/mingwBuild/build.sh @@ -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 . -# -# 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 . +# +# 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 +# }}} diff --git a/ThirdParty/mingwBuild/clean.sh b/ThirdParty/mingwBuild/clean.sh index e49724843..c9f3f6bef 100644 --- a/ThirdParty/mingwBuild/clean.sh +++ b/ThirdParty/mingwBuild/clean.sh @@ -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 . -# -# 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 . +# +# 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 +# }}} diff --git a/ThirdParty/mingwBuild/configure_OpenMPI.sh b/ThirdParty/mingwBuild/configure_OpenMPI.sh index fe4a83d23..312682e6e 100644 --- a/ThirdParty/mingwBuild/configure_OpenMPI.sh +++ b/ThirdParty/mingwBuild/configure_OpenMPI.sh @@ -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 . -# -# 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 . +# +# 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 diff --git a/ThirdParty/mingwBuild/parmetis_includes_hack.pl b/ThirdParty/mingwBuild/parmetis_includes_hack.pl index 787146a8a..7def6e3f5 100644 --- a/ThirdParty/mingwBuild/parmetis_includes_hack.pl +++ b/ThirdParty/mingwBuild/parmetis_includes_hack.pl @@ -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 . -# -# 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 = ; - 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 . +# +# 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 = ; + 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); + } +} diff --git a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/IMlib/IMlib.h b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/IMlib/IMlib.h index 29733b2e1..94dcf7673 100644 --- a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/IMlib/IMlib.h +++ b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/IMlib/IMlib.h @@ -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; i0; 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 *); diff --git a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/Lib/mgridgen.c b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/Lib/mgridgen.c index 6ee11c58a..a678a2c6b 100644 --- a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/Lib/mgridgen.c +++ b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/MGridGen/Lib/mgridgen.c @@ -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]; diff --git a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/Makefile.in b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/Makefile.in index 838f3c8b4..603f98fc7 100644 --- a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/Makefile.in +++ b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/Makefile.in @@ -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 diff --git a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/macros.h b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/macros.h index 2e70a5990..797398c7b 100644 --- a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/macros.h +++ b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/macros.h @@ -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; i0; 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 diff --git a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/ParLib/macros.h b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/ParLib/macros.h index 37b66c306..321e07f97 100644 --- a/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/ParLib/macros.h +++ b/ThirdParty/mingwBuild/x64/patches/ParMGridGen-1.0/ParMGridGen/ParLib/macros.h @@ -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 diff --git a/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_arch.h b/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_arch.h index 1f9bef352..0ae6ca58e 100644 --- a/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_arch.h +++ b/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_arch.h @@ -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 diff --git a/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_getopt.h b/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_getopt.h index e53f97d81..d2b31c4ce 100644 --- a/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_getopt.h +++ b/ThirdParty/mingwBuild/x64/patches/metis-5.1.0/GKlib/gk_getopt.h @@ -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 long_options 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 long_options 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. */ }; diff --git a/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_arch.h b/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_arch.h index 1f9bef352..0ae6ca58e 100644 --- a/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_arch.h +++ b/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_arch.h @@ -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 diff --git a/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_getopt.h b/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_getopt.h index e53f97d81..d2b31c4ce 100644 --- a/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_getopt.h +++ b/ThirdParty/mingwBuild/x64/patches/parmetis-4.0.3/metis/GKlib/gk_getopt.h @@ -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 long_options 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 long_options 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. */ }; diff --git a/ThirdParty/mingwBuild/x64/patches/pthreads-w32-2-9-1-release/Pre-built.2/include/sched.h b/ThirdParty/mingwBuild/x64/patches/pthreads-w32-2-9-1-release/Pre-built.2/include/sched.h index 2372bb65b..17b753db9 100644 --- a/ThirdParty/mingwBuild/x64/patches/pthreads-w32-2-9-1-release/Pre-built.2/include/sched.h +++ b/ThirdParty/mingwBuild/x64/patches/pthreads-w32-2-9-1-release/Pre-built.2/include/sched.h @@ -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 */ - diff --git a/ThirdParty/mingwBuild/x64/patches/scotch_6.0.0/src/Makefile.inc b/ThirdParty/mingwBuild/x64/patches/scotch_6.0.0/src/Makefile.inc index 8fc051b5d..c1f17a19a 100644 --- a/ThirdParty/mingwBuild/x64/patches/scotch_6.0.0/src/Makefile.inc +++ b/ThirdParty/mingwBuild/x64/patches/scotch_6.0.0/src/Makefile.inc @@ -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) diff --git a/ThirdParty/mingwBuild/x64/patches/system/include/rand48.h b/ThirdParty/mingwBuild/x64/patches/system/include/rand48.h index cb3694a7e..947cdbec0 100644 --- a/ThirdParty/mingwBuild/x64/patches/system/include/rand48.h +++ b/ThirdParty/mingwBuild/x64/patches/system/include/rand48.h @@ -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 diff --git a/ThirdParty/mingwBuild/x64/patches/system/include/sys/times.h b/ThirdParty/mingwBuild/x64/patches/system/include/sys/times.h index d04a32c19..80fc85ef7 100644 --- a/ThirdParty/mingwBuild/x64/patches/system/include/sys/times.h +++ b/ThirdParty/mingwBuild/x64/patches/system/include/sys/times.h @@ -1,40 +1,40 @@ -// From http://www.linuxjournal.com/article/5574 - -#ifndef _TIMES_H -#define _TIMES_H - -#ifdef _WIN32 -#include -#include -#include - -int gettimeofday(struct timeval* t,void* timezone); - -// from linux's sys/times.h - -//#include - -#define __need_clock_t -#include - - -/* 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 +#include +#include + +int gettimeofday(struct timeval* t,void* timezone); + +// from linux's sys/times.h + +//#include + +#define __need_clock_t +#include + + +/* 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 \ No newline at end of file diff --git a/etc/bashrc.mingw b/etc/bashrc.mingw index fd08e6571..615ce6b81 100644 --- a/etc/bashrc.mingw +++ b/etc/bashrc.mingw @@ -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 } # }}} diff --git a/etc/settings.sh b/etc/settings.sh index e2624fe2e..825d45292 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -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 diff --git a/src/OSspecific/MSWindows/MSwindows.C b/src/OSspecific/MSWindows/MSwindows.C index 7d827ebaf..f11037d3f 100644 --- a/src/OSspecific/MSWindows/MSwindows.C +++ b/src/OSspecific/MSWindows/MSwindows.C @@ -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(lpMsgBuf))+40)*sizeof(TCHAR)); + lpDisplayBuf = LocalAlloc(LMEM_ZEROINIT, + (lstrlen(static_cast(lpMsgBuf))+40)*sizeof(TCHAR)); sprintf(static_cast(lpDisplayBuf), "Error %d: %s", int(dw), static_cast(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 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 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 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 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(handle)); - + if (success) { getLoadedLibs().erase(handle); } - + return success; } diff --git a/src/OSspecific/MSWindows/deelx.h b/src/OSspecific/MSWindows/deelx.h index c3748da21..b5f67f7d8 100644 --- a/src/OSspecific/MSWindows/deelx.h +++ b/src/OSspecific/MSWindows/deelx.h @@ -644,7 +644,7 @@ template inline int CBoundaryElxT :: IsWordChar(CHART ch) // // Bracket // -template class CBracketElxT : public ElxInterface +template class CBracketElxT : public ElxInterface { public: int Match (CContext * pContext) const; @@ -782,7 +782,7 @@ template int CBracketElxT :: MatchNext(CContext * pContext // // Deletage // -template class CDelegateElxT : public ElxInterface +template class CDelegateElxT : public ElxInterface { public: int Match (CContext * pContext) const; @@ -2993,7 +2993,7 @@ template ElxInterface * CBuilderT :: BuildRecursive(int & m_grouplist[nThisBackref] = pList; // right - MoveNext(); // skip ')' + MoveNext(); // skip ')' return pList; } diff --git a/src/OSspecific/MSWindows/printStack.C b/src/OSspecific/MSWindows/printStack.C index 406def0a2..1a6000257 100644 --- a/src/OSspecific/MSWindows/printStack.C +++ b/src/OSspecific/MSWindows/printStack.C @@ -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 -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& 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); diff --git a/src/OSspecific/MSWindows/signals/sigFpe.C b/src/OSspecific/MSWindows/signals/sigFpe.C index 55ba2d812..393fe8e4e 100644 --- a/src/OSspecific/MSWindows/signals/sigFpe.C +++ b/src/OSspecific/MSWindows/signals/sigFpe.C @@ -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); } */ } diff --git a/src/OSspecific/MSWindows/signals/sigQuit.C b/src/OSspecific/MSWindows/signals/sigQuit.C index 799129cdc..3f6ecee5a 100644 --- a/src/OSspecific/MSWindows/signals/sigQuit.C +++ b/src/OSspecific/MSWindows/signals/sigQuit.C @@ -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); } } diff --git a/src/OSspecific/MSWindows/signals/sigSegv.C b/src/OSspecific/MSWindows/signals/sigSegv.C index 5ce3fc179..3f8a2c924 100644 --- a/src/OSspecific/MSWindows/signals/sigSegv.C +++ b/src/OSspecific/MSWindows/signals/sigSegv.C @@ -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); } } diff --git a/src/OSspecific/MSWindows/timer.C b/src/OSspecific/MSWindows/timer.C index ca57974c0..c23224499 100644 --- a/src/OSspecific/MSWindows/timer.C +++ b/src/OSspecific/MSWindows/timer.C @@ -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) diff --git a/src/finiteVolume/finiteVolume/divSchemes/gaussDivScheme/vectorGaussDivScheme.H b/src/finiteVolume/finiteVolume/divSchemes/gaussDivScheme/vectorGaussDivScheme.H index 1d1a9e9ea..305edf262 100644 --- a/src/finiteVolume/finiteVolume/divSchemes/gaussDivScheme/vectorGaussDivScheme.H +++ b/src/finiteVolume/finiteVolume/divSchemes/gaussDivScheme/vectorGaussDivScheme.H @@ -50,13 +50,13 @@ namespace fv // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -template<> +template<> inline tmp > gaussDivScheme::fvmUDiv ( const GeometricField& ) const; -template<> +template<> inline tmp > gaussDivScheme::fvmUDiv ( const surfaceScalarField& flux, diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options index 0f957de80..13a35803e 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options @@ -24,5 +24,3 @@ EXE_INC = \ LIB_LIBS = \ -L$(PARMGRIDGEN_LIB_DIR) -lMGridGen endif - - diff --git a/wmake/rules/MINGW32_NT-6.1Gcc/ARCHITECTURE_TESTED b/wmake/rules/MINGW32_NT-6.1Gcc/ARCHITECTURE_TESTED index 72c1dd80f..fa5233266 100644 --- a/wmake/rules/MINGW32_NT-6.1Gcc/ARCHITECTURE_TESTED +++ b/wmake/rules/MINGW32_NT-6.1Gcc/ARCHITECTURE_TESTED @@ -1,2 +1 @@ by bgschaid. 2010-10-06 on Centos 5.5 with gcc 4.1 - diff --git a/wmake/rules/MINGW32_NT-6.1Gcc/mplibQSMPI b/wmake/rules/MINGW32_NT-6.1Gcc/mplibQSMPI index 95ea32737..807d20ab3 100644 --- a/wmake/rules/MINGW32_NT-6.1Gcc/mplibQSMPI +++ b/wmake/rules/MINGW32_NT-6.1Gcc/mplibQSMPI @@ -1,4 +1,3 @@ PFLAGS = PINC = -I$(MPI_ARCH_PATH)/include PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi -