diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml index d2856ad46d..44daa3dcb9 100644 --- a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml +++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml @@ -167,6 +167,19 @@ + + + + + A simple way to cause a reader GUI modification. + + + diff --git a/etc/config/settings.csh b/etc/config/settings.csh index 5fdee1186d..af748c57c2 100644 --- a/etc/config/settings.csh +++ b/etc/config/settings.csh @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation +# \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -224,9 +224,16 @@ case ThirdParty: set mpfr_version=mpfr-3.1.0 set mpc_version=mpc-0.9 breaksw + case Gcc49: + case Gcc49++0x: + set gcc_version=gcc-4.9.0 + set gmp_version=gmp-5.1.2 + set mpfr_version=mpfr-3.1.2 + set mpc_version=mpc-1.0.1 + breaksw case Gcc48: case Gcc48++0x: - set gcc_version=gcc-4.8.1 + set gcc_version=gcc-4.8.2 set gmp_version=gmp-5.1.2 set mpfr_version=mpfr-3.1.2 set mpc_version=mpc-1.0.1 @@ -249,7 +256,7 @@ case ThirdParty: # using clang - not gcc setenv WM_CC 'clang' setenv WM_CXX 'clang++' - set clang_version=llvm-3.3 + set clang_version=llvm-3.4 breaksw default: echo diff --git a/etc/config/settings.sh b/etc/config/settings.sh index 35a6f8dd8d..bc8fd220c5 100644 --- a/etc/config/settings.sh +++ b/etc/config/settings.sh @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation +# \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -246,8 +246,14 @@ OpenFOAM | ThirdParty) mpfr_version=mpfr-3.1.0 mpc_version=mpc-0.9 ;; + Gcc49 | Gcc49++0x) + gcc_version=gcc-4.9.0 + gmp_version=gmp-5.1.2 + mpfr_version=mpfr-3.1.2 + mpc_version=mpc-1.0.1 + ;; Gcc48 | Gcc48++0x) - gcc_version=gcc-4.8.1 + gcc_version=gcc-4.8.2 gmp_version=gmp-5.1.2 mpfr_version=mpfr-3.1.2 mpc_version=mpc-1.0.1 @@ -268,7 +274,7 @@ OpenFOAM | ThirdParty) # using clang - not gcc export WM_CC='clang' export WM_CXX='clang++' - clang_version=llvm-3.3 + clang_version=llvm-3.4 ;; *) echo 1>&2 diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C index 9f451bd772..01dee2c5e4 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -36,6 +36,7 @@ License #include "diagTensor.H" #include "transformField.H" #include "SubField.H" +#include "unitConversion.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -272,10 +273,14 @@ void Foam::cyclicPolyPatch::calcTransforms if (debug) { + scalar theta = radToDeg(acos(n0 & n1)); + Pout<< "cyclicPolyPatch::calcTransforms :" << " patch:" << name() << " Specified rotation :" - << " n0:" << n0 << " n1:" << n1 << endl; + << " n0:" << n0 << " n1:" << n1 + << " swept angle: " << theta << " [deg]" + << endl; } // Extended tensor from two local coordinate systems calculated @@ -432,10 +437,14 @@ void Foam::cyclicPolyPatch::getCentresAndAnchors if (debug) { + scalar theta = radToDeg(acos(n0 & n1)); + Pout<< "cyclicPolyPatch::getCentresAndAnchors :" << " patch:" << name() << " Specified rotation :" - << " n0:" << n0 << " n1:" << n1 << endl; + << " n0:" << n0 << " n1:" << n1 + << " swept angle: " << theta << " [deg]" + << endl; } // Extended tensor from two local coordinate systems calculated diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C index 52373c438d..98ce25d260 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C +++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,7 +45,7 @@ namespace Foam // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // -Foam::vector Foam::cyclicAMIPolyPatch::findFaceMaxRadius +Foam::vector Foam::cyclicAMIPolyPatch::findFaceNormalMaxRadius ( const pointField& faceCentres ) const @@ -138,45 +138,115 @@ void Foam::cyclicAMIPolyPatch::calcTransforms { case ROTATIONAL: { - point n0 = vector::zero; - if (half0Ctrs.size()) + tensor revT = tensor::zero; + + if (rotationAngleDefined_) { - n0 = findFaceMaxRadius(half0Ctrs); + tensor T(rotationAxis_*rotationAxis_); + + tensor S + ( + 0, -rotationAxis_.z(), rotationAxis_.y(), + rotationAxis_.z(), 0, -rotationAxis_.x(), + -rotationAxis_.y(), rotationAxis_.x(), 0 + ); + + tensor RPos + ( + T + + cos(rotationAngle_)*(tensor::I + T) + + sin(rotationAngle_)*S + ); + tensor RNeg + ( + T + + cos(-rotationAngle_)*(tensor::I + T) + + sin(-rotationAngle_)*S + ); + + // check - assume correct angle when difference in face areas + // is the smallest + vector transformedAreaPos = sum(half0Areas & RPos); + vector transformedAreaNeg = sum(half0Areas & RNeg); + vector area1 = sum(half1Areas); + reduce(transformedAreaPos, sumOp()); + reduce(transformedAreaNeg, sumOp()); + reduce(area1, sumOp()); + + scalar errorPos = mag(transformedAreaPos - area1); + scalar errorNeg = mag(transformedAreaNeg - area1); + + if (errorPos < errorNeg) + { + revT = RPos; + } + else + { + revT = RNeg; + rotationAngle_ *= -1; + } + + if (debug) + { + scalar theta = radToDeg(rotationAngle_); + + Pout<< "cyclicAMIPolyPatch::calcTransforms: patch:" + << name() + << " Specified rotation:" + << " swept angle: " << theta << " [deg]" + << " reverse transform: " << revT + << endl; + } } - point n1 = vector::zero; - if (half1Ctrs.size()) + else { - n1 = -findFaceMaxRadius(half1Ctrs); + point n0 = vector::zero; + point n1 = vector::zero; + if (half0Ctrs.size()) + { + n0 = findFaceNormalMaxRadius(half0Ctrs); + } + if (half1Ctrs.size()) + { + n1 = -findFaceNormalMaxRadius(half1Ctrs); + } + + reduce(n0, maxMagSqrOp()); + reduce(n1, maxMagSqrOp()); + + n0 /= mag(n0) + VSMALL; + n1 /= mag(n1) + VSMALL; + + // Extended tensor from two local coordinate systems calculated + // using normal and rotation axis + const tensor E0 + ( + rotationAxis_, + (n0 ^ rotationAxis_), + n0 + ); + const tensor E1 + ( + rotationAxis_, + (-n1 ^ rotationAxis_), + -n1 + ); + revT = E1.T() & E0; + + if (debug) + { + scalar theta = radToDeg(acos(n0 & n1)); + + Pout<< "cyclicAMIPolyPatch::calcTransforms: patch:" + << name() + << " Specified rotation:" + << " n0:" << n0 << " n1:" << n1 + << " swept angle: " << theta << " [deg]" + << " reverse transform: " << revT + << endl; + } } - reduce(n0, maxMagSqrOp()); - reduce(n1, maxMagSqrOp()); - - n0 /= mag(n0) + VSMALL; - n1 /= mag(n1) + VSMALL; - - if (debug) - { - Pout<< "cyclicAMIPolyPatch::calcTransforms : patch:" << name() - << " Specified rotation :" - << " n0:" << n0 << " n1:" << n1 << endl; - } - - // Extended tensor from two local coordinate systems calculated - // using normal and rotation axis - const tensor E0 - ( - rotationAxis_, - (n0 ^ rotationAxis_), - n0 - ); - const tensor E1 - ( - rotationAxis_, - (-n1 ^ rotationAxis_), - -n1 - ); - const tensor revT(E1.T() & E0); const_cast(forwardT()) = tensorField(1, revT.T()); const_cast(reverseT()) = tensorField(1, revT); const_cast(separation()).setSize(0); @@ -395,6 +465,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch nbrPatchID_(-1), rotationAxis_(vector::zero), rotationCentre_(point::zero), + rotationAngleDefined_(false), + rotationAngle_(0.0), separationVector_(vector::zero), AMIPtr_(NULL), AMIReverse_(false), @@ -421,6 +493,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch nbrPatchID_(-1), rotationAxis_(vector::zero), rotationCentre_(point::zero), + rotationAngleDefined_(false), + rotationAngle_(0.0), separationVector_(vector::zero), AMIPtr_(NULL), AMIReverse_(dict.lookupOrDefault("flipNormals", false)), @@ -466,6 +540,17 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch { dict.lookup("rotationAxis") >> rotationAxis_; dict.lookup("rotationCentre") >> rotationCentre_; + if (dict.readIfPresent("rotationAngle", rotationAngle_)) + { + rotationAngleDefined_ = true; + rotationAngle_ = degToRad(rotationAngle_); + + if (debug) + { + Info<< "rotationAngle: " << rotationAngle_ << " [rad]" + << endl; + } + } scalar magRot = mag(rotationAxis_); if (magRot < SMALL) @@ -516,6 +601,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch nbrPatchID_(-1), rotationAxis_(pp.rotationAxis_), rotationCentre_(pp.rotationCentre_), + rotationAngleDefined_(pp.rotationAngleDefined_), + rotationAngle_(pp.rotationAngle_), separationVector_(pp.separationVector_), AMIPtr_(NULL), AMIReverse_(pp.AMIReverse_), @@ -543,6 +630,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch nbrPatchID_(-1), rotationAxis_(pp.rotationAxis_), rotationCentre_(pp.rotationCentre_), + rotationAngleDefined_(pp.rotationAngleDefined_), + rotationAngle_(pp.rotationAngle_), separationVector_(pp.separationVector_), AMIPtr_(NULL), AMIReverse_(pp.AMIReverse_), @@ -584,6 +673,8 @@ Foam::cyclicAMIPolyPatch::cyclicAMIPolyPatch nbrPatchID_(-1), rotationAxis_(pp.rotationAxis_), rotationCentre_(pp.rotationCentre_), + rotationAngleDefined_(pp.rotationAngleDefined_), + rotationAngle_(pp.rotationAngle_), separationVector_(pp.separationVector_), AMIPtr_(NULL), AMIReverse_(pp.AMIReverse_), @@ -874,6 +965,14 @@ void Foam::cyclicAMIPolyPatch::write(Ostream& os) const << token::END_STATEMENT << nl; os.writeKeyword("rotationCentre") << rotationCentre_ << token::END_STATEMENT << nl; + + if (rotationAngleDefined_) + { + os.writeKeyword("rotationAngle") << radToDeg(rotationAngle_) + << token::END_STATEMENT << nl; + + } + break; } case TRANSLATIONAL: diff --git a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.H b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.H index e3bb1d35d9..fbdffb3dee 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.H +++ b/src/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch/cyclicAMIPolyPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,9 +75,15 @@ private: //- Axis of rotation for rotational cyclics vector rotationAxis_; - //- point on axis of rotation for rotational cyclics + //- Point on axis of rotation for rotational cyclics point rotationCentre_; + //- Flag to show whether the rotation angle is defined + bool rotationAngleDefined_; + + //- Rotation angle + scalar rotationAngle_; + // For translation @@ -101,7 +107,7 @@ private: // Private Member Functions //- Return normal of face at max distance from rotation axis - vector findFaceMaxRadius(const pointField& faceCentres) const; + vector findFaceNormalMaxRadius(const pointField& faceCentres) const; void calcTransforms ( diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C index e38c5a4622..831f552667 100644 --- a/src/postProcessing/functionObjects/forces/forces/forces.C +++ b/src/postProcessing/functionObjects/forces/forces/forces.C @@ -940,6 +940,8 @@ void Foam::forces::calcForcesMoment() Pstream::listCombineGather(force_, plusEqOp()); Pstream::listCombineGather(moment_, plusEqOp()); + Pstream::listCombineScatter(force_); + Pstream::listCombineScatter(moment_); } diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/Allrun-pre b/tutorials/mesh/foamyHexMesh/mixerVessel/Allrun-pre index d65d576cf6..e1314946c8 100755 --- a/tutorials/mesh/foamyHexMesh/mixerVessel/Allrun-pre +++ b/tutorials/mesh/foamyHexMesh/mixerVessel/Allrun-pre @@ -101,8 +101,9 @@ runParallel checkMesh $nProcs -allTopology -allGeometry -latestTime runApplication reconstructParMesh -latestTime -# Copy the mesh into polyMesh +# Copy the mesh into polyMesh and delete the 102 directory \cp -r 102/polyMesh constant +\rm -rf 102 # ----------------------------------------------------------------- end-of-file diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air index 9a4d3aea6c..288160cdf0 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air +++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air @@ -6027,8 +6027,7 @@ boundaryField { inlet { - type fixedValue; - value uniform 1; + type zeroGradient; } outlet { diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org index 29db06c783..6292e5ffc0 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org +++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/0/alpha.air.org @@ -22,8 +22,7 @@ boundaryField { inlet { - type fixedValue; - value uniform 1; + type zeroGradient; } outlet diff --git a/wmake/rules/linux64Gcc49/c b/wmake/rules/linux64Gcc49/c new file mode 100644 index 0000000000..f4114be314 --- /dev/null +++ b/wmake/rules/linux64Gcc49/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m64 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linux64Gcc49/c++ b/wmake/rules/linux64Gcc49/c++ new file mode 100644 index 0000000000..98b25ed1fe --- /dev/null +++ b/wmake/rules/linux64Gcc49/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m64 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed diff --git a/wmake/rules/linux64Gcc49/c++Debug b/wmake/rules/linux64Gcc49/c++Debug new file mode 100644 index 0000000000..19bdb9c334 --- /dev/null +++ b/wmake/rules/linux64Gcc49/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linux64Gcc49/c++Opt b/wmake/rules/linux64Gcc49/c++Opt new file mode 100644 index 0000000000..2aedabd628 --- /dev/null +++ b/wmake/rules/linux64Gcc49/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linux64Gcc49/c++Prof b/wmake/rules/linux64Gcc49/c++Prof new file mode 100644 index 0000000000..3bda4dad55 --- /dev/null +++ b/wmake/rules/linux64Gcc49/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linux64Gcc49/cDebug b/wmake/rules/linux64Gcc49/cDebug new file mode 100644 index 0000000000..72b638f458 --- /dev/null +++ b/wmake/rules/linux64Gcc49/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linux64Gcc49/cOpt b/wmake/rules/linux64Gcc49/cOpt new file mode 100644 index 0000000000..17318709f1 --- /dev/null +++ b/wmake/rules/linux64Gcc49/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linux64Gcc49/cProf b/wmake/rules/linux64Gcc49/cProf new file mode 100644 index 0000000000..ca3ac9bf5f --- /dev/null +++ b/wmake/rules/linux64Gcc49/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linux64Gcc49/general b/wmake/rules/linux64Gcc49/general new file mode 100644 index 0000000000..4a42b11b1e --- /dev/null +++ b/wmake/rules/linux64Gcc49/general @@ -0,0 +1,8 @@ +CPP = cpp -traditional-cpp + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linux64Gcc49/mplibHPMPI b/wmake/rules/linux64Gcc49/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linux64Gcc49/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linux64Gcc49/mplibINTELMPI b/wmake/rules/linux64Gcc49/mplibINTELMPI new file mode 100644 index 0000000000..cf80ec2eaf --- /dev/null +++ b/wmake/rules/linux64Gcc49/mplibINTELMPI @@ -0,0 +1,3 @@ +PFLAGS = -DMPICH_SKIP_MPICXX +PINC = -I$(MPI_ARCH_PATH)/include64 +PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi diff --git a/wmake/rules/linuxGcc49/c b/wmake/rules/linuxGcc49/c new file mode 100644 index 0000000000..d914fcd37d --- /dev/null +++ b/wmake/rules/linuxGcc49/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m32 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linuxGcc49/c++ b/wmake/rules/linuxGcc49/c++ new file mode 100644 index 0000000000..357f4106e1 --- /dev/null +++ b/wmake/rules/linuxGcc49/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m32 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed diff --git a/wmake/rules/linuxGcc49/c++Debug b/wmake/rules/linuxGcc49/c++Debug new file mode 100644 index 0000000000..19bdb9c334 --- /dev/null +++ b/wmake/rules/linuxGcc49/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linuxGcc49/c++Opt b/wmake/rules/linuxGcc49/c++Opt new file mode 100644 index 0000000000..2aedabd628 --- /dev/null +++ b/wmake/rules/linuxGcc49/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linuxGcc49/c++Prof b/wmake/rules/linuxGcc49/c++Prof new file mode 100644 index 0000000000..3bda4dad55 --- /dev/null +++ b/wmake/rules/linuxGcc49/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linuxGcc49/cDebug b/wmake/rules/linuxGcc49/cDebug new file mode 100644 index 0000000000..72b638f458 --- /dev/null +++ b/wmake/rules/linuxGcc49/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linuxGcc49/cOpt b/wmake/rules/linuxGcc49/cOpt new file mode 100644 index 0000000000..17318709f1 --- /dev/null +++ b/wmake/rules/linuxGcc49/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linuxGcc49/cProf b/wmake/rules/linuxGcc49/cProf new file mode 100644 index 0000000000..ca3ac9bf5f --- /dev/null +++ b/wmake/rules/linuxGcc49/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linuxGcc49/general b/wmake/rules/linuxGcc49/general new file mode 100644 index 0000000000..4b051e6b98 --- /dev/null +++ b/wmake/rules/linuxGcc49/general @@ -0,0 +1,9 @@ +CPP = cpp -traditional-cpp +LD = ld -melf_i386 + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linuxGcc49/mplibHPMPI b/wmake/rules/linuxGcc49/mplibHPMPI new file mode 100644 index 0000000000..8aff40632b --- /dev/null +++ b/wmake/rules/linuxGcc49/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi