All ThirdParty build-related stuff moved there.

This commit is contained in:
Mark Olesen
2009-07-24 23:10:15 +02:00
parent b1a3bcc9a9
commit 91157af10c
15 changed files with 76 additions and 1376 deletions

View File

@ -1,50 +0,0 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# AllwcleanThirdParty
#
# Description
# Distribution clean script for ThirdParty
#
# Still somewhat incomplete
#------------------------------------------------------------------------------
[ -d "$WM_THIRD_PARTY_DIR" ] || {
echo "no \$WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR"
exit 1
}
cd $WM_THIRD_PARTY_DIR || exit 1 # run from third-party directory
set -x
rm -rf gcc-4.3.3/build
rm -rf gmp-4.2.4/build
rm -rf mpfr-2.4.1/build
( cd metis-5.0pre2 && make distclean )
( cd openmpi-1.3.3 && make distclean )
( cd paraview-3.6.1 && make distclean )
# ----------------------------------------------------------------- end-of-file

View File

@ -1,70 +0,0 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# AllwmakeLibccmio
#
# Description
# Get and build CD-adapco's ccmio library
#
#------------------------------------------------------------------------------
packageDir=libccmio-2.6.1
[ -d "$WM_THIRD_PARTY_DIR" ] || {
echo "no \$WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR"
exit 1
}
cd $WM_THIRD_PARTY_DIR || exit 1 # run from third-party directory
set -x
if [ ! -d ${packageDir} ]
then
if [ ! -e ${packageDir}.tar.gz ]
then
wget --no-check-certificate \
https://wci.llnl.gov/codes/visit/3rd_party/${packageDir}.tar.gz
fi
if [ -e ${packageDir}.tar.gz ]
then
tar -xzf ${packageDir}.tar.gz
else
echo "no ${packageDir}.tar.gz to unpack"
fi
fi
if [ -d ${packageDir} -a ! -d ${packageDir}/Make ]
then
cp -r wmakeFiles/libccmio ${packageDir}/Make
fi
if [ -d ${packageDir}/Make ]
then
wmake libso ${packageDir}
fi
# ----------------------------------------------------------------- end-of-file

View File

@ -1,194 +0,0 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# AllwmakeThirdParty
#
# Description
# Build script for ThirdParty sources
#
#------------------------------------------------------------------------------
[ -d "$WM_THIRD_PARTY_DIR" ] || {
echo "no \$WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR"
exit 1
}
cd $WM_THIRD_PARTY_DIR || exit 1 # run from third-party directory
set -x
# export WM settings in a form that GNU configure recognizes
[ -n "$WM_CC" ] && export CC="$WM_CC"
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
wmake libso zlib-1.2.3
( cd malloc && ./Allwmake )
#
# compile specific mpi libraries
#
case "$WM_MPLIB" in
OPENMPI)
if [ -r $MPI_ARCH_PATH/lib/libmpi.so ]
then
echo "have $WM_MPLIB shared library"
elif [ -r $MPI_ARCH_PATH/lib/libmpi.a ]
then
echo "have $WM_MPLIB static library"
else
(
cd $MPI_HOME || exit
make distclean
rm -rf $MPI_ARCH_PATH
unset mpiWith
# as of version 1.3, enable GridEngine
if [ -n "$SGE_ROOT" ]
then
mpiWith="$mpiWith --with-sge"
fi
# Infiniband support
# if [ -d /usr/local/ofed -a -d /usr/local/ofed/lib64 ]
# then
# mpiWith="$mpiWith --with-openib=/usr/local/ofed"
# mpiWith="$mpiWith --with-openib-libdir=/usr/local/ofed/lib64"
# fi
./configure \
--prefix=$MPI_ARCH_PATH \
--disable-mpirun-prefix-by-default \
--disable-orterun-prefix-by-default \
--enable-shared --disable-static \
--disable-mpi-f77 --disable-mpi-f90 --disable-mpi-cxx \
--disable-mpi-profile \
$mpiWith \
;
make
make install
make distclean
)
fi
;;
MPICH)
if [ -r $MPI_ARCH_PATH/lib/libmpich.so ]
then
echo "have $WM_MPLIB shared library"
elif [ -r $MPI_ARCH_PATH/lib/libmpich.a ]
then
echo "have $WM_MPLIB static library"
else
(
cd $MPI_HOME || exit
make distclean
rm -rf $MPI_ARCH_PATH
rm util/machines/machines.*
./configure \
--without-mpe \
--disable-f77 \
--disable-f90 \
--disable-f90modules \
--disable-c++ \
--disable-mpedbg \
--disable-devdebug \
--disable-debug \
--enable-sharedlib=$MPI_ARCH_PATH/lib \
--with-device=ch_p4 \
-prefix=$MPI_ARCH_PATH
make
make install
make distclean
if [ -r $MPI_ARCH_PATH ]
then
cd $MPI_ARCH_PATH/bin
for file in *
do
sed s%$MPI_ARCH_PATH%'$MPI_ARCH_PATH'%g $file > temp.$$
mv temp.$$ $file
chmod 0755 $file
done
cd $MPI_ARCH_PATH/lib
if [ -r libmpich.so.1.0 ]
then
rm *.so
ln -s libmpich.so.1.0 libmpich.so
fi
fi
)
fi
;;
esac
# Build Scotch decomposition
(
cd scotch_5.1 || exit
wmake libso src/libscotch
wmake libso src/libscotchmetis
)
# Build Metis decomposition
(
cd metis-5.0pre2 || exit
wmake libso GKlib
wmake libso libmetis
)
# Build parMetis. Requires MPI!
if [ -d "$MPI_ARCH_PATH" ]
then
(
cd ParMetis-3.1 || exit
wmake libso METISLib
wmake libso ParMETISLib
)
fi
# Build ParMGridGen
wmake libso ParMGridGen-1.0/MGridGen/IMlib
wmake libso ParMGridGen-1.0/MGridGen/Lib
set +x
echo
echo ==============================
echo done ThirdParty Allwmake
echo ==============================
echo
# ----------------------------------------------------------------- end-of-file

View File

@ -1,445 +0,0 @@
#---------------------------------*- sh -*-------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# buildParaViewFunctions
#
# Description
# ParaView build/install helper functions
#
#------------------------------------------------------------------------------
# ParaView_INST_DIR : location of the original sources
# ParaView_DIR : location of the build (for the ParaViewConfig.cmake)
# and the installed program
#
# set CMake cache variables
#
addCMakeVariable()
{
while [ -n "$1" ]
do
CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1"
shift
done
}
#
# verbose makefiles
#
addVerbosity()
{
[ "$withVERBOSE" = true ] && addCMakeVariable CMAKE_VERBOSE_MAKEFILE=TRUE
}
#
# define options for mpi support
#
addMpiSupport()
{
[ "${withMPI:=false}" = true ] || return
OBJ_ADD="$OBJ_ADD-mpi"
addCMakeVariable PARAVIEW_USE_MPI=ON VTK_USE_MPI=ON
addCMakeVariable MPI_INCLUDE_PATH=$MPI_ARCH_PATH/include
addCMakeVariable MPI_LIBRARY=$MPI_ARCH_PATH/lib/libmpi.so
addCMakeVariable VTK_MPIRUN_EXE=$MPI_ARCH_PATH/bin/mpirun
addCMakeVariable VTK_MPI_MAX_NUMPROCS=$MPI_MAX_PROCS
}
#
# define options for python support
#
addPythonSupport()
{
[ "${withPYTHON:=false}" = true ] || return
OBJ_ADD="$OBJ_ADD-py"
if pythonBin=$(which python 2>/dev/null)
then
if [ -n "$PYTHON_LIBRARY" ]
then
# check $PYTHON_LIBRARY if it has been set
if [ ! -e "$PYTHON_LIBRARY" ]
then
echo "*** Error: libpython not found at location specified " \
"by PYTHON_LIBRARY=$PYTHON_LIBRARY"
fi
else
# Try to get $PYTHON_LIBRARY from dynamically linked binary
PYTHON_LIBRARY=$(ldd $pythonBin | \
sed -ne '/libpython/s/.* => \(.*\) (.*/\1/p')
if [ ! -e "$PYTHON_LIBRARY" ]
then
echo "*** Error: Unable to determine path to python library."
fi
fi
[ -e "$PYTHON_LIBRARY" ] || {
echo " Please set the variable PYTHON_LIBRARY to the full"
echo " path to (and including) libpython, or deactivate"
echo " python support by setting withPYTHON=false"
exit 1
}
pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/')
pythonInclude=/usr/include/python$pythonMajor
# note - we could also allow for a PYTHON_INCLUDE variable ...
[ -d "$pythonInclude" ] || {
echo " No python headers found in $pythonInclude/"
echo " Please install python headers or deactivate "
echo " python support by setting withPYTHON=false"
exit 1
}
addCMakeVariable PARAVIEW_ENABLE_PYTHON=ON
addCMakeVariable PYTHON_INCLUDE_PATH=$pythonInclude
addCMakeVariable PYTHON_LIBRARY=$PYTHON_LIBRARY
echo "----"
echo "Python information:"
echo " executable : $pythonBin"
echo " version : $pythonMajor"
echo " include path : $pythonInclude"
echo " library : $PYTHON_LIBRARY"
unset pythonBin pythonInclude pythonMajor
else
echo "*** Error: python not found"
echo "*** Deactivate python support by setting withPYTHON=false"
exit 1
fi
}
#
# define options for mesa support
#
addMesaSupport()
{
[ "${withMESA:=false}" = true ] || return
if [ -d "$MESA_INCLUDE" -a -f "$MESA_LIBRARY" ]
then
OBJ_ADD="$OBJ_ADD-mesa"
addCMakeVariable VTK_OPENGL_HAS_OSMESA=ON
addCMakeVariable OSMESA_INCLUDE_DIR=$MESA_INCLUDE
addCMakeVariable OSMESA_LIBRARY=$MESA_LIBRARY
else
echo "*** Error: no MESA information found"
echo "*** Deactivate MESA support by setting withMESA=false, or"
echo "*** correct the paths given by:"
echo "*** - MESA_INCLUDE ($MESA_INCLUDE)"
echo "*** - MESA_LIBRARY ($MESA_LIBRARY)"
exit 1
fi
}
addQtSupport()
{
[ "${withQTSUPPORT:=false}" = true ] || return
addCMakeVariable "PARAVIEW_BUILD_QT_GUI=ON"
qmakeExe=qmake
if [ -n "$QMAKE_PATH" ]
then
if [ -x "$QMAKE_PATH" ]
then
qmakeExe=$QMAKE_PATH
addCMakeVariable QT_QMAKE_EXECUTABLE:FILEPATH=$QMAKE_PATH
else
echo
echo "specified QMAKE_PATH does not exist on this machine"
echo " QMAKE_PATH=$QMAKE_PATH"
echo "leaving unspecified"
echo
fi
fi
# Check qmake can be found
if [ `which $qmakeExe` ]
then
# Check the Qt version selected
QtVersion=`$qmakeExe -v | grep Using | sed "s/.* version \(.\..\).*/\1/"`
QtMajor=`echo $QtVersion | sed "s/\(.\)\../\1/"`
QtMinor=`echo $QtVersion | sed "s/.\.\(.\)/\1/"`
if [ $QtMajor -lt 4 -o $QtMinor -lt 3 ]
then
echo "*** Error: Qt version provided < 4.3"
echo "*** Please use the -qmake option to specify the location of a version of Qt >= 4.3 "
echo "*** e.g."
echo "*** -qmake /usr/local/Trolltech/Qt-4.3.5/bin/qmake"
echo "*** -qmake $WM_THIRD_PARTY_DIR/qt-x11-opensource-src-4.3.5/platforms/$WM_OPTIONS/bin/qmake"
exit 1
fi
else
echo "*** Error: cannot find qmake either at \$QMAKE_PATH or in current \$PATH"
exit 1
fi
}
#
# discover where things are or should be put
#
getPaths()
{
# set paraview environment
for i in $PWD $WM_THIRD_PARTY_DIR
do
ParaView_INST_DIR=$i/paraview-$ParaView_VERSION
[ -d $ParaView_INST_DIR ] && break
done
if [ ! -d "$ParaView_INST_DIR" ]
then
# last chance: maybe already in the paraview directory
if [ "${PWD##*/}" = "paraview-$ParaView_VERSION" ]
then
ParaView_INST_DIR=$PWD
fi
[ -d "$ParaView_INST_DIR" ] || {
echo "did not find paraview-$ParaView_VERSION in these directories:"
echo " PWD=$PWD"
echo " WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR"
echo
echo "abort build"
exit 1
}
fi
# set the major version "<digits>.<digits>"
ParaView_MAJOR_VERSION=$(echo $ParaView_VERSION | \
sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/')
# ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER$OBJ_ADD
ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER
echo "ParaView_DIR=$ParaView_DIR"
}
#
# configure via cmake, but don't actually build anything
#
configParaView()
{
# remove any existing build folder and recreate
if [ -d $ParaView_DIR ]
then
echo "removing old build/install directory"
rm -rf $ParaView_DIR
fi
mkdir -p $ParaView_DIR
cd $ParaView_DIR
echo "----"
echo "Configuring paraview-$ParaView_VERSION (major version: $ParaView_MAJOR_VERSION)"
echo " MPI support : ${withMPI:-false}"
echo " Python support : ${withPYTHON:-false}"
echo " MESA support : ${withMESA:-false}"
echo " Qt dev support : ${withQTSUPPORT:-false}"
echo " Source : $ParaView_INST_DIR"
echo " Target : $ParaView_DIR"
echo "----"
echo
echo cmake \
-DCMAKE_INSTALL_PREFIX:PATH=$ParaView_DIR \
$CMAKE_VARIABLES \
../..
echo
echo "----"
echo
# run cmake to create Makefiles
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=$ParaView_DIR \
$CMAKE_VARIABLES \
../..
}
#
# invoke make
# also link bin/ to lib/paraview-* for development without installation
#
makeParaView()
{
cd $ParaView_DIR || exit 1 # change to build folder
echo " Starting make"
if [ -r /proc/cpuinfo ]
then
WM_NCOMPPROCS=$(egrep "^processor" /proc/cpuinfo | wc -l)
[ $WM_NCOMPPROCS -le 8 ] || WM_NCOMPPROCS=8
time make -j $WM_NCOMPPROCS
else
time make
fi
echo " Done make"
echo " For quicker development, linking lib/paraview-$ParaView_MAJOR_VERSION/ -> bin/"
rm -rf lib/paraview-$ParaView_MAJOR_VERSION
mkdir lib 2>/dev/null
( cd lib && ln -s ../bin paraview-$ParaView_MAJOR_VERSION )
}
#
# adjust hard-links (internal function)
# Note: use loop with grep to avoid touching too many files
#
fixHardLinks()
{
envName=$1
string=$2
shift 2
echo "-- Replacing path hard links for \$$envName"
for fileSpec
do
echo -n " $fileSpec: "
for i in $(find . -type f -iname "$fileSpec")
do
if grep -q "$string" $i
then
echo -n "#"
sed -i "s,$string,\$ENV{$envName},g" $i
fi
done
echo
done
}
#
# replace absolute paths with environment variables
# This triggers a partial (or even a full) rebuild, but might let us
# find our files later if we relocate the build
#
fixCMakeFiles()
{
cd $ParaView_DIR || exit 1 # change to build folder
# Replace path with env variable: ParaView_DIR
fixHardLinks ParaView_DIR "$ParaView_DIR" '*.cmake'
# Replace path with env variable: ParaView_INST_DIR
fixHardLinks ParaView_INST_DIR "$ParaView_INST_DIR" '*.cmake'
# Replace path with env variable: MPI_ARCH_PATH
if [ "${withMPI:=false}" = true ]
then
fixHardLinks MPI_ARCH_PATH "$MPI_ARCH_PATH" '*.cmake'
fi
# Replace path with env variable: CMAKE_HOME
if [ -r "$CMAKE_HOME" ]
then
fixHardLinks CMAKE_HOME "$CMAKE_HOME" '*cmake*'
fi
# Replace path with env variable: WM_COMPILER_DIR
# (include cmake.check_cache)
# This triggers a complete rebuild (with cmake-2.6.2), but is likely
# needed when redistributing files
fixHardLinks WM_COMPILER_DIR "$WM_COMPILER_DIR" '*cmake*'
}
#
# make html documentation (mostly just for the readers/writers)
#
makeDocs()
{
cd $ParaView_DIR || exit 1 # change to build folder
echo " Creating html documentation"
make HTMLDocumentation
}
#
# actually install the program
#
installParaView()
{
cd $ParaView_DIR || exit 1 # change to build folder
echo " Installing ParaView to $ParaView_DIR"
echo "disabled 'make install' for now, just use links"
# about.txt may be missing
paraviewLibDir="$ParaView_DIR/lib/paraview-$ParaView_MAJOR_VERSION"
if [ -d "$paraviewLibDir" -a ! -e "$paraviewLibDir/about.txt" ]
then
echo "paraview-$ParaView_MAJOR_VERSION installed - $(date)" > $paraviewLibDir/about.txt
fi
cat<< INFO
---
Installation complete
Set environment variables:
export ParaView_INST_DIR=$ParaView_INST_DIR
export ParaView_DIR=$ParaView_DIR
export PV_PLUGIN_PATH=$FOAM_LIBBIN
export PATH=\$ParaView_DIR/bin:\$PATH
---
INFO
}
# clear all the variables used before using any of the functions
unset withMPI withQTSUPPORT withVERBOSE
unset withMESA MESA_INCLUDE MESA_LIBRARY
unset withPYTHON PYTHON_INCLUDE PYTHON_LIBRARY
unset CMAKE_VARIABLES
unset OBJ_ADD
# start with these general settings
addCMakeVariable VTK_USE_TK=FALSE
addCMakeVariable BUILD_SHARED_LIBS:BOOL=ON VTK_USE_RPATH:BOOL=OFF
addCMakeVariable CMAKE_BUILD_TYPE:STRING=Release
# include development files in "make install"
addCMakeVariable PARAVIEW_INSTALL_DEVELOPMENT:BOOL=ON
# ----------------------------------------------------------------- end-of-file

View File

@ -1,142 +0,0 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# makeGcc
#
# Description
# Build script for gmp, mpfr and gcc-4.3.? and gcc-4.4.?
#
#------------------------------------------------------------------------------
gmpVERSION=gmp-4.2.4
mpfrVERSION=mpfr-2.4.1
gccVERSION="$1"
usage() {
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
cat<<USAGE
usage: ${0##*/} <gcc-4.?.?> ...
* build gmp, mpfr and gcc-4.3.? and gcc-4.4.?
USAGE
exit 1
}
[ "$#" -eq 1 ] || usage "gcc version not provided"
#
# Set the number of cores to build on
#
WM_NCOMPPROCS=1
if [ -r /proc/cpuinfo ]
then
WM_NCOMPPROCS=$(egrep "^processor" /proc/cpuinfo | wc -l)
[ $WM_NCOMPPROCS -le 8 ] || WM_NCOMPPROCS=8
fi
echo "Building on " $WM_NCOMPPROCS " cores"
GCC_DIR=$WM_THIRD_PARTY_DIR/$gccVERSION
GMP_DIR=$WM_THIRD_PARTY_DIR/$gmpVERSION
MPFR_DIR=$WM_THIRD_PARTY_DIR/$mpfrVERSION
GCCROOT=${GCC_DIR}/platforms/$WM_ARCH$WM_COMPILER_ARCH
GMPROOT=${GMP_DIR}/platforms/$WM_ARCH$WM_COMPILER_ARCH
MPFRROOT=${MPFR_DIR}/platforms/$WM_ARCH$WM_COMPILER_ARCH
#
# Bulid GMP
#
if [ ! -d $GMPROOT ]
then
(
cd $GMP_DIR \
&& make distclean \
&& mkdir $GMP_DIR/build \
&& cd $GMP_DIR/build \
&& ../configure ABI=$ABI --prefix=$GMPROOT \
&& make -j $WM_NCOMPPROCS \
&& make install
echo " Finished building gmp."
)
else
echo " gmp already built."
fi
export LD_LIBRARY_PATH="$GMPROOT/lib:$LD_LIBRARY_PATH"
#
# Build MPFR
#
if [ ! -d $MPFRROOT ]
then
(
cd $MPFR_DIR \
&& make distclean \
&& mkdir $MPFR_DIR/build \
&& cd $MPFR_DIR/build \
&& ../configure ABI=$ABI --prefix=$MPFRROOT --with-gmp=$GMPROOT \
&& make -j $WM_NCOMPPROCS \
&& make install
echo " Finished building mpfr."
)
else
echo " mprf already built."
fi
export LD_LIBRARY_PATH="$MPFRROOT/lib:$LD_LIBRARY_PATH"
#
# Build GCC
#
if [ ! -d $GCCROOT ]
then
(
cd $GCC_DIR \
&& make distclean \
&& mkdir $GCC_DIR/build \
&& cd $GCC_DIR/build \
&& ../configure --enable-languages=c,c++ --with-pkgversion='OpenFOAM' \
--enable-__cxa_atexit --enable-libstdcxx-allocator=new \
--with-system-zlib --prefix=$GCCROOT \
--with-mpfr=$MPFRROOT --with-gmp=$GMPROOT \
&& make -j $WM_NCOMPPROCS \
&& make install
echo " Finished building gcc."
)
else
echo " gcc already built."
fi
# ----------------------------------------------------------------- end-of-file

View File

@ -1,73 +0,0 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# makeQT
#
# Description
# Build script for Qt-4.3.5
#
#------------------------------------------------------------------------------
QT_VERSION=4.3.5
QT_HOME=${WM_THIRD_PARTY_DIR}/qt-x11-opensource-src-${QT_VERSION}
QT_ARCH_PATH=${QT_HOME}/platforms/${WM_OPTIONS}
if [ ! -d $QT_ARCH_PATH ]
then
cd $QT_HOME || {
echo "no Qt sources found"
exit 1
}
make distclean
rm -rf $QT_ARCH_PATH
./configure \
--prefix=$QT_ARCH_PATH \
-nomake demos \
-nomake examples
if [ -r /proc/cpuinfo ]
then
WM_NCOMPPROCS=$(egrep "^processor" /proc/cpuinfo | wc -l)
[ $WM_NCOMPPROCS -le 8 ] || WM_NCOMPPROCS=8
echo "Building on " $WM_NCOMPPROCS " cores"
time make -j $WM_NCOMPPROCS
else
time make
fi
make install
echo " Finished building Qt-$QT_VERSION"
else
echo " Qt-$QT_VERSION already built."
fi
# ----------------------------------------------------------------- end-of-file

View File

@ -1,78 +0,0 @@
#---------------------------------*- sh -*-------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM 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 2 of the License, or (at your
# option) any later version.
#
# OpenFOAM 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 OpenFOAM; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Script
# thirdPartyGetFunctions
#
# Description
# Functions for managing the third-party packages
#
#------------------------------------------------------------------------------
#
# get, unpack and change to third party directory
# - call from within a sub-shell, since it uses 'cd'
#
getUnpack() {
[ "$#" -eq 1 ] || {
echo "getUnpack called with incorrect arguments $@"
return 1
}
d=$(foamThirdParty -dir $1 2>/dev/null) || {
echo "nothing know about '$1'"
return 1
}
foamThirdParty -get -unpack $1 && [ -d "$d" ] || return 1
[ -d "$d" ] && chmod -R ugo+rX $d 2>/dev/null
echo $d
}
#
# copy Make/{files,options} from wmakeFiles/PACKAGE
#
cpMakeFiles() {
[ "$#" -eq 2 ] || {
echo "cpMakeFiles called with incorrect arguments $@"
return 1
}
pkg=$1
dst=$2
for i in $(cd wmakeFiles/$pkg && find . -type f)
do
d=$(dirname $i)
b=$(basename $i)
mkdir -p $dst/$d/Make 2>/dev/null
[ -e $dst/$d/Make/$b ] || cp wmakeFiles/$pkg/$i $dst/$d/Make/$b
done
}
# ----------------------------------------------------------------- end-of-file