diff --git a/Allwmake.mingw b/Allwmake.mingw
index 767b4008e..df0e340d4 100644
--- a/Allwmake.mingw
+++ b/Allwmake.mingw
@@ -69,8 +69,10 @@ 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/libgomp-1.dll $FOAM_APPBIN
cp -p $MINGW_HOME/bin/libstdc++-6.dll $FOAM_APPBIN
cp -p $MINGW_HOME/bin/libwinpthread-1.dll $FOAM_APPBIN
+cp -p $WM_THIRD_PARTY_DIR/packages/pthreads-w32-2-9-1-release/Pre-built.2/dll/x64/pthreadGC2.dll $FOAM_APPBIN
echo "Creating release package ... (see `pwd`/createWindowsBinaryPackage.log)"
./bin/createWindowsBinaryPackage > createWindowsBinaryPackage.log 2>&1
diff --git a/applications/utilities/postProcessing/dataConversion/foamToFieldview9/floatScalar.H b/applications/utilities/postProcessing/dataConversion/foamToFieldview9/floatScalar.H
deleted file mode 100644
index 58cdd8429..000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToFieldview9/floatScalar.H
+++ /dev/null
@@ -1,290 +0,0 @@
-/*---------------------------------------------------------------------------*\
- ========= |
- \\ / 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 .
-
-Typedef
- Foam::floatScalar
-
-Description
- single floating point number identical to float
-
-SourceFiles
- floatScalar.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef floatScalar_H
-#define floatScalar_H
-
-#include "label.H"
-#include "word.H"
-
-#include
-
-#ifdef ibm
- float lgamma(float);
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// Define floatScalar as a float
-
-namespace Foam
-{
- typedef float floatScalar;
-}
-
-/*
-// Define floatScalar as a float
-
-namespace Foam
-{
- typedef float floatScalar;
-
- // Largest and smallest floatScalar values allowed in certain parts of the code
- // (6 is the number of significant figures in an
- // IEEE single precision number. See limits.h or float.h)
- static const floatScalar GREAT = 1.0e+6;
- static const floatScalar VGREAT = 1.0e+37;
- static const floatScalar SMALL = 1.0e-6;
- static const floatScalar VSMALL = 1.0e-37;
-}
-*/
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "pTraits.H"
-#include "products.H"
-#include "direction.H"
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-// template specialisation for pTraits
-template<>
-class pTraits
-{
- floatScalar p_;
-
-public:
-
- //- Component type
- typedef floatScalar cmptType;
-
- // Member constants
-
- enum
- {
- dim = 3, // Dimensionality of space
- rank = 0, // Rank od floatScalar is 0
- nComponents = 1 // Number of components in floatScalar is 1
- };
-
- // Static data members
-
- static const char* const typeName;
- static const char* componentNames[];
- static const floatScalar zero;
- static const floatScalar one;
-
- // Constructors
-
- //- Construct from Istream
- pTraits(Istream& is);
-
- // Member Functions
-
- operator floatScalar() const
- {
- return p_;
- }
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-//template
-//class typeOfRank
-//{
-//public:
-//
-// typedef Cmpt type;
-//};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-// Return a string representation of a floatScalar
-word name(const floatScalar s)
-{
- return name(scalar(s));
-}
-
-#define MAXMINPOW(retType, type1, type2) \
- \
-MAXMIN(retType, type1, type2) \
- \
-inline float pow(const type1 s, const type2 e) \
-{ \
- return ::pow(float(s), float(e)); \
-}
-
-
-//MAXMINPOW(float, float, float)
-//MAXMINPOW(float, float, int)
-//MAXMINPOW(float, int, float)
-//MAXMINPOW(float, float, long)
-//MAXMINPOW(float, long, float)
-//MAXMINPOW(float, float, int)
-//MAXMINPOW(float, int, float)
-//MAXMINPOW(float, float, long)
-//MAXMINPOW(float, long, float)
-
-#undef MAXMINPOW
-
-
-inline floatScalar mag(const floatScalar s)
-{
- return ::fabs(s);
-}
-
-inline floatScalar sign(const floatScalar s)
-{
- return (s >= 0)? 1: -1;
-}
-
-inline floatScalar pos(const floatScalar s)
-{
- return (s >= 0)? 1: 0;
-}
-
-inline floatScalar neg(const floatScalar s)
-{
- return (s < 0)? 1: 0;
-}
-
-inline floatScalar limit(const floatScalar s1, const floatScalar s2)
-{
- return (mag(s1) < mag(s2))? s1: 0.0;
-}
-
-inline floatScalar magSqr(const floatScalar s)
-{
- return s*s;
-}
-
-inline floatScalar sqr(const floatScalar s)
-{
- return s*s;
-}
-
-inline floatScalar pow3(const floatScalar s)
-{
- return s*s*s;
-}
-
-inline floatScalar pow4(const floatScalar s)
-{
- return sqr(sqr(s));
-}
-
-inline floatScalar cmptAv(const floatScalar s)
-{
- return s;
-}
-
-inline floatScalar cmptMag(const floatScalar s)
-{
- return mag(s);
-}
-
-inline floatScalar scale(const floatScalar s, const floatScalar d)
-{
- return s*d;
-}
-
-
-#define transFunc(func) \
-inline floatScalar func(const floatScalar s) \
-{ \
- return ::func(s); \
-}
-
-// Standard C++ transcendental functions
-transFunc(sqrt)
-transFunc(exp)
-transFunc(log)
-transFunc(log10)
-transFunc(sin)
-transFunc(cos)
-transFunc(tan)
-transFunc(asin)
-transFunc(acos)
-transFunc(atan)
-transFunc(sinh)
-transFunc(cosh)
-transFunc(tanh)
-transFunc(asinh)
-transFunc(acosh)
-transFunc(atanh)
-
-// Standard ANSI-C (but not in ) transcendental functions
-transFunc(erf)
-transFunc(erfc)
-transFunc(lgamma)
-transFunc(j0)
-transFunc(j1)
-transFunc(y0)
-transFunc(y1)
-
-#undef transFunc
-
-// Stabilisation around zero for division
-inline floatScalar stabilise(const floatScalar s, const floatScalar small)
-{
- if (s >= 0)
- {
- return s + small;
- }
- else
- {
- return s - small;
- }
-}
-
-
-// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
-
-//floatScalar readScalar(Istream& is);
-Istream& operator>>(Istream&, floatScalar&);
-Ostream& operator<<(Ostream&, const floatScalar);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/bin/createWindowsBinaryPackage b/bin/createWindowsBinaryPackage
index 43cb0b94d..6d42733af 100755
--- a/bin/createWindowsBinaryPackage
+++ b/bin/createWindowsBinaryPackage
@@ -93,6 +93,9 @@ echo "Copying extra files from bin directory ..."
cp -p $WM_PROJECT_DIR/bin/setWindowsEnvironment.bat $PACKAGE_DIR/
cp -p $WM_PROJECT_DIR/bin/foamWindowsShell.bat $PACKAGE_DIR/
cp -p $WM_PROJECT_DIR/bin/paraFoam.bat $PACKAGE_DIR/bin
+unix2dos $PACKAGE_DIR/setWindowsEnvironment.bat
+unix2dos $PACKAGE_DIR/foamWindowsShell.bat
+unix2dos $PACKAGE_DIR/bin/paraFoam.bat
echo "Copying extra files from etc directory ..."
mkdir $PACKAGE_DIR/etc
@@ -103,8 +106,13 @@ echo "Copying doc and license files ..."
cp -p $WM_PROJECT_DIR/doc/buildInstructions/Windows/READMEBinaryPackage.txt $PACKAGE_DIR/
cp -p $WM_PROJECT_DIR/COPYING $PACKAGE_DIR/LICENSE.txt
unix2dos $PACKAGE_DIR/LICENSE.txt
+unix2dos $PACKAGE_DIR/READMEBinaryPackage.txt
+echo "Creating archives ..."
create_package $PACKAGE_DIR zip
create_package $PACKAGE_DIR 7z
+echo "Removing package directory ..."
rm -rf $PACKAGE_DIR
+
+echo "All done!"
diff --git a/bin/foamWindowsShell.bat b/bin/foamWindowsShell.bat
index 212063e26..153fdc717 100644
--- a/bin/foamWindowsShell.bat
+++ b/bin/foamWindowsShell.bat
@@ -6,7 +6,7 @@ call %FOAM_HOME%\setWindowsEnvironment.bat
mode 160,40
color 81
echo ---------------------------------
-echo Command shell for foam-extend-3.1
+echo Command shell for foam-extend-4.0
echo ---------------------------------
echo/
cmd.exe
diff --git a/bin/setWindowsEnvironment.bat b/bin/setWindowsEnvironment.bat
index abf32508b..039dc6803 100644
--- a/bin/setWindowsEnvironment.bat
+++ b/bin/setWindowsEnvironment.bat
@@ -13,4 +13,4 @@ set MPI_BUFFER_SIZE=20000000
if defined PARAVIEW_HOME set PATH=%PARAVIEW_HOME%\bin;%PATH%
if defined MPI_ROOTDIR set PATH=%MPI_ROOTDIR%\bin;%PATH%
-set PATH=%FOAM_HOME%\lib;%FOAM_HOME%\lib\openmpi-1.6.1;%FOAM_HOME%\bin;%PATH%
+set PATH=%FOAM_HOME%\lib;%FOAM_HOME%\bin;%PATH%
diff --git a/doc/buildInstructions/Windows/README.txt b/doc/buildInstructions/Windows/README.txt
index fa757824f..116f51170 100644
--- a/doc/buildInstructions/Windows/README.txt
+++ b/doc/buildInstructions/Windows/README.txt
@@ -1,7 +1,7 @@
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | foam-extend: Open Source CFD
-# \\ / O peration | Version: 3.2
+# \\ / O peration | Version: 4.0
# \\ / A nd | Web: http://www.foam-extend.org
# \\/ M anipulation | For copyright notice see file Copyright
#------------------------------------------------------------------------------
@@ -52,26 +52,17 @@ already have the correct tools installed on your system.
(such as Strawberry Perl), although you need to be careful of the
version numbers.
-3) Download and install MSYS (see reference list below). If this is your first
- use of MSYS, create a file fstab in c/MinGW/msys/1.0/etc with single-line
- contents:
+3) Download and install MSYS (see reference list below). If this is your first
+ use of MSYS, create a file fstab in c/MinGW/msys/1.0/etc with single-line contents:
+ c:/mingw /mingw
+ This mounts your home directory (this assumes you have installed MSYS to the default
+ c:/MinGW directory). From Windows, you will find your home directory under
+ c:/MinGW/msys/1.0/home/
- c:/mingw /mingw
+4) Download the foam-extend 4.0 source code using Git:
+ git clone -b nextRelease http://git.code.sf.net/p/foam-extend/foam-extend-3.2 foam-extend-4.0
- to mount your home directory (this assumes you have installed MSYS to the default
- c:/MinGW directory).
- From Windows, you will find your home directory under
- c:/MinGW/msys/1.0/home/
-
-4) Download the foam-extend source code from
-
- http://sourceforge.net/projects/openfoam-extend/
-
- using the command:
-
- git clone --branch nextRelease git://git.code.sf.net/p/foam-extend/foam-extend-3.2
-
-5) Open a new MSYS shell and chdir to your foam-extend-3.2 source directory.
+5) Open a new MSYS shell and chdir to your foam-extend-4.0 source directory.
6) Edit the user-modifiable entries in etc/bashrc.mingw to point to the
locations where you have installed the required system tools in the first two
@@ -102,7 +93,7 @@ already have the correct tools installed on your system.
approach for developers.
(b). From a standard Windows CMD.exe command prompt using the created
- foam-extend-3.2-win-x64.zip stand-alone package. This can be used on any
+ foam-extend-4.0-win-x64.{7z,zip} stand-alone package. This can be used on any
Windows machine without access to MSYS shells or compilers. See the
READMEBinaryPackage.txt contained within the package for further details.
@@ -162,10 +153,10 @@ Version: 0.44 (or above)
URL : http://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.46/pexports-0.46-mingw32-bin.tar.xz/download
For : Extracting symbols from OpenMPI DLLs to pass to dlltool.exe (supplied in MinGW-w64 package). Move directory "bin" to "pexports-0.46" after unpacking.
-Name : Pyhton
+Name : Python
Version: 2.7
URL : https://www.python.org/download/releases/2.7/
-For : Not essential
+For : Running Python scripts. Not essential
Name : Strawberry Perl
Version: 5.20.2.1 (or above)
@@ -175,15 +166,13 @@ For : Running Perl scripts, "pexports.exe" and "gmake.exe" utilities
Name : Subversion
Version: 1.8.13
URL : http://sourceforge.net/projects/win32svn/files/1.8.13/
-For : ??????????
+For : Version control system. Not essential.
Name : wget
Version: 1.11.4-1 (or above)
URL : http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-dep.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-doc.zip
For : Automatically downloading files from internet (eg. for use in automated build scripts)
-git clone --branch nextRelease git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1
-
4. EXAMPLE OUTPUT FROM SOURCING etc/bashrc.mingw
================================================
diff --git a/doc/buildInstructions/Windows/READMEBinaryPackage.txt b/doc/buildInstructions/Windows/READMEBinaryPackage.txt
index ecf9af4ab..6d03e1b57 100644
--- a/doc/buildInstructions/Windows/READMEBinaryPackage.txt
+++ b/doc/buildInstructions/Windows/READMEBinaryPackage.txt
@@ -1,7 +1,7 @@
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | foam-extend: Open Source CFD
-# \\ / O peration | Version: 3.2
+# \\ / O peration | Version: 4.0
# \\ / A nd | Web: http://www.foam-extend.org
# \\/ M anipulation | For copyright notice see file Copyright
#------------------------------------------------------------------------------
@@ -87,3 +87,6 @@ NOTES
1) This version does not fully support runtime selection of extended features. If necessary, you can
explicitly load the required DLL using the "libs" function in system/controlDict, for example:
libs ("liblduSolvers.dll");
+
+2) The original foam-extend 4.0 source code is available from Git:
+ git clone -b nextRelease http://git.code.sf.net/p/foam-extend/foam-extend-3.2 foam-extend-4.0
diff --git a/etc/bashrc.mingw b/etc/bashrc.mingw
index d4928d906..e9f8ad561 100755
--- a/etc/bashrc.mingw
+++ b/etc/bashrc.mingw
@@ -42,14 +42,15 @@ export PROGRAMS_HOME=/c/Programs
set_system_paths() {
echo "Setting environment variables for user-defined installed system tools and utilities ..."
export CMAKE_HOME=$PROGRAMS_HOME/cmake-3.2.3-win32-x86
- export GIT_HOME=$PROGRAMS_HOME/Git
- export MINGW_HOME=$PROGRAMS_HOME/mingw64
+ #export GIT_HOME=$PROGRAMS_HOME/Git
+ #export JAVA_HOME="/c/Program Files/Java/jre1.8.0_45"
+ export MINGW_HOME=$PROGRAMS_HOME/x86_64-4.8.2-release-win32-seh-rt_v3-rev3/mingw64
export MPI_ROOTDIR=$PROGRAMS_HOME/OpenMPI_v1.6.1-x64
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-0.46
- export PYTHON_HOME=$PROGRAMS_HOME/Python27
- export SUBVERSION_HOME=$PROGRAMS_HOME/svn-win32-1.8.13
+ export PERL_HOME=$PROGRAMS_HOME/strawberry-perl-5.20.2.1-64bit/perl
+ #export PEXPORTS_HOME=$PROGRAMS_HOME/pexports-0.46-mingw32
+ #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"
}
@@ -59,16 +60,16 @@ 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=$GIT_HOME/cmd:$PATH
- #export PATH=$PERL_HOME/bin:$PATH
+ #export PATH=$JAVA_HOME/bin:$PATH
+ #export PATH=$PYTHON_HOME:$PATH
+ #export PATH=$SUBVERSION_HOME/bin:$PATH
+ #export PATH=$GIT_HOME/cmd:$PATH
export PATH=$PARAVIEW_HOME/bin:$PATH
+ export PATH=$PERL_HOME/bin:$PATH
export PATH=$CMAKE_HOME/bin:$PATH
- export PATH=$PEXPORTS_HOME/bin:$PATH
- export PATH=$MINGW_HOME/bin:$PATH
-# MPI comes last to enforce the path
export PATH=$MPI_ROOTDIR/bin:$PATH
+ #export PATH=$PEXPORTS_HOME/bin:$PATH
+ export PATH=$MINGW_HOME/bin:$PATH
}
# }}}
diff --git a/etc/dosrc.mingw.bat b/etc/dosrc.mingw.bat
new file mode 100644
index 000000000..5d2145f87
--- /dev/null
+++ b/etc/dosrc.mingw.bat
@@ -0,0 +1,17 @@
+@echo off
+
+rem =========== USER EDITABLE SETTINGS ===========
+set MPI_ROOTDIR=C:\Programs\OpenMPI_v1.6.1-x64
+set PARAVIEW_HOME=C:\Programs\ParaView-4.3.1
+rem ==============================================
+
+set FOAM_HOME=%~dp0..
+set WM_PROJECT_DIR=%FOAM_HOME%
+
+set MPI_BUFFER_SIZE=20000000
+
+if defined PARAVIEW_HOME set PATH=%PARAVIEW_HOME%\bin;%PATH%
+if defined MPI_ROOTDIR set PATH=%MPI_ROOTDIR%\bin;%PATH%
+set PATH=%FOAM_HOME%\lib\mingwGccDPOpt;%FOAM_HOME%\applications\bin\mingwGccDPOpt;%FOAM_HOME%\bin;%PATH%
+
+set PATH=%FOAM_HOME%\..\site\4.0\lib\mingwGccDPOpt;%FOAM_HOME%\..\site\4.0\bin\mingwGccDPOpt;%PATH%
diff --git a/wmake/Makefile b/wmake/Makefile
index fda6f0d78..22855fbd2 100644
--- a/wmake/Makefile
+++ b/wmake/Makefile
@@ -64,7 +64,11 @@ CLASSES_DIR = $(MAKE_DIR)/classes
SYS_INC =
SYS_LIBS =
+ifeq ($(WM_ARCH_BASE),mingw)
+PROJECT_INC = -I$(FOAM_SRC) -I$(FOAM_APP) -I$(LIB_SRC)/$(WM_PROJECT)/lnInclude -I$(LIB_SRC)/OSspecific/$(WM_OSTYPE)/lnInclude
+else
PROJECT_INC = -I$(LIB_SRC)/$(WM_PROJECT)/lnInclude -I$(LIB_SRC)/OSspecific/$(WM_OSTYPE)/lnInclude
+endif
PROJECT_LIBS = -l$(WM_PROJECT)
PROJECT_VERSION = $(shell printf -- "-DPROJECT_VERSION=%d%03d%03d" $$(echo $(WM_PROJECT_VERSION) | sed -e 's/\./ /g'))
diff --git a/wmake/genInclude.pl b/wmake/genInclude.pl
old mode 100644
new mode 100755
index 7eb01351f..1d34a8c04
--- a/wmake/genInclude.pl
+++ b/wmake/genInclude.pl
@@ -52,16 +52,15 @@ $cwd =~ s/lnInclude//;
$source =~ s/$cwd//;
my $dir = $cwd;
-$dir =~ s/^.*\/src\///;
+if ($dir =~ /^.*\/src\//) {
+ $dir =~ s/^.*\/src\///;
+}
+elsif ($dir =~ /^.*\/applications\//) {
+ $dir =~ s/^.*\/applications\///;
+}
my $link = $dir . $source;
-
-my $incGuardName = uc "INC_$fileName";
-$incGuardName =~ s/\./_/;
open (FILE, '>', $fileName) or die ("ERROR: Can't open '$fileName' [$!]");
-print FILE "#ifndef $incGuardName\n";
-print FILE "#define $incGuardName\n";
print FILE "#include \"$link\"\n";
-print FILE "#endif\n";
close (FILE);