2 #------------------------------------------------------------------------------
4 # \\ / F ield | foam-extend: Open Source CFD
6 # \\ / A nd | For copyright notice see file Copyright
8 #------------------------------------------------------------------------------
10 # This file is part of foam-extend.
12 # foam-extend is free software: you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation, either version 3 of the License, or (at your
15 # option) any later version.
17 # foam-extend is distributed in the hope that it will be useful, but
18 # WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 # General Public License for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
29 # Build script for ThirdParty packages: Stage1
31 # Compilers and basic tools.
33 # Once this stage is built, you would normally re-initialize your
34 # foam-extend environment in order to use the new compilers and tools
36 # NOTE: This stage is optional. Use it only if you want to override
37 # your system pre-installed compilers and tools
40 # 1: Your foam-extend environment must be properly initialized
41 # 2: The file etc/prefs.sh should be used for setting the variables enabling
42 # the compilation of the various packages
44 # Martin Beaudoin, Hydro-Quebec, (2015)
46 #------------------------------------------------------------------------------
47 # run from third-party directory only
50 wmakeCheckPwd
"$WM_THIRD_PARTY_DIR" ||
{
51 echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR"
52 echo " The environment variables are inconsistent with the installation."
53 echo " Check the foam-extend entries in your dot-files and source them."
56 . tools
/makeThirdPartyFunctionsForRPM
57 #------------------------------------------------------------------------------
59 echo ========================================
60 echo Starting ThirdParty AllMake
: Stage1
61 echo ========================================
64 # Gcc 4.4.5 and companion libraries
66 [ ! -z "$WM_THIRD_PARTY_USE_GCC_445" ] && {
67 echo "Building gmp-5.0.1 mpfr-3.0.1 gcc-4.4.5"
68 ( rpm_make
-p gmp-5.0
.1 -s gmp-5.0
.1.spec
-u http
://ftpmirror.gnu.org
/gmp
/gmp-5.0
.1.
tar.gz
)
69 ( rpm_make
-p mpfr-3.0
.1 -s mpfr-3.0
.1.spec
-u http
://ftpmirror.gnu.org
/mpfr
/mpfr-3.0
.1.
tar.gz
)
70 ( rpm_make
-p gcc-4.4
.5 -s gcc-4.4
.5.spec
-u http
://ftpmirror.gnu.org
/gcc
/gcc-4.4
.5/gcc-4.4
.5.
tar.gz
)
73 # Gcc 4.5.1 and companion libraries
75 [ ! -z "$WM_THIRD_PARTY_USE_GCC_451" ] && {
76 echo "Building gmp-5.0.1 mpfr-3.0.1 mpc-0.8.2 gcc-4.5.1"
77 ( rpm_make
-p gmp-5.0
.1 -s gmp-5.0
.1.spec
-u http
://ftpmirror.gnu.org
/gmp
/gmp-5.0
.1.
tar.gz
)
78 ( rpm_make
-p mpfr-3.0
.1 -s mpfr-3.0
.1.spec
-u http
://ftpmirror.gnu.org
/mpfr
/mpfr-3.0
.1.
tar.gz
)
79 ( rpm_make
-p mpc-0.8
.2 -s mpc-0.8
.2.spec
-u http
://www.multiprecision.org
/mpc
/download
/mpc-0.8
.2.
tar.gz
)
80 ( rpm_make
-p gcc-4.5
.1 -s gcc-4.5
.1.spec
-u http
://ftpmirror.gnu.org
/gcc
/gcc-4.5
.1/gcc-4.5
.1.
tar.gz
)
83 # Gcc 4.6.3 and companion libraries
85 [ ! -z "$WM_THIRD_PARTY_USE_GCC_463" ] && {
86 echo "Building gmp-5.0.5 mpfr-3.1.0 mpc-0.9 gcc-4.6.3"
87 ( rpm_make
-p gmp-5.0
.5 -s gmp-5.0
.5.spec
-u http
://ftpmirror.gnu.org
/gmp
/gmp-5.0
.5.
tar.bz2
)
88 ( rpm_make
-p mpfr-3.1
.0 -s mpfr-3.1
.0.spec
-u http
://ftpmirror.gnu.org
/mpfr
/mpfr-3.1
.0.
tar.gz
)
89 ( rpm_make
-p mpc-0.9
-s mpc-0.9.spec
-u http
://www.multiprecision.org
/mpc
/download
/mpc-0.9.
tar.gz
)
90 ( rpm_make
-p gcc-4.6
.3 -s gcc-4.6
.3.spec
-u http
://ftpmirror.gnu.org
/gcc
/gcc-4.6
.3/gcc-4.6
.3.
tar.gz
)
93 # Gcc 4.7.4 and companion libraries
95 [ ! -z "$WM_THIRD_PARTY_USE_GCC_474" ] && {
96 echo "Building gmp-5.0.5 mpfr-3.1.0 mpc-0.9 gcc-4.6.3"
97 ( rpm_make
-p gmp-5.1
.2 -s gmp-5.1
.2.spec
-u ftp://ftp.gnu.org
/gnu
/gmp
/gmp-5.1
.2.
tar.bz2
)
98 ( rpm_make
-p mpfr-3.1
.2 -s mpfr-3.1
.2.spec
-u ftp://ftp.gnu.org
/gnu
/mpfr
/mpfr-3.1
.2.
tar.gz
)
99 ( rpm_make
-p mpc-1.0
.1 -s mpc-1.0
.1.spec
-u http
://www.multiprecision.org
/mpc
/download
/mpc-1.0
.1.
tar.gz
)
100 ( rpm_make
-p gcc-4.7
.4 -s gcc-4.7
.4.spec
-u ftp://ftp.gnu.org
/gnu
/gcc
/gcc-4.7
.4/gcc-4.7
.4.
tar.gz
)
103 # Gcc 4.8.4 and companion libraries
105 [ ! -z "$WM_THIRD_PARTY_USE_GCC_484" ] && {
106 echo "Building gcc-4.8.4"
107 ( rpm_make
-p gcc-4.8
.4 -s gcc-4.8
.4.spec
-u http
://ftpmirror.gnu.org
/gcc
/gcc-4.8
.4/gcc-4.8
.4.
tar.gz
)
110 # Gcc 4.9.2 and companion libraries
112 [ ! -z "$WM_THIRD_PARTY_USE_GCC_492" ] && {
113 echo "Building gcc-4.9.2"
114 ( rpm_make
-p gcc-4.9
.2 -s gcc-4.9
.2.spec
-u http
://ftpmirror.gnu.org
/gcc
/gcc-4.9
.2/gcc-4.9
.2.
tar.gz
)
119 [ ! -z "$WM_THIRD_PARTY_USE_LLVM_360" ] && {
120 echo "Building llvm and clang 3.6.0"
121 ( rpm_make
-p llvm-3.6
.0 -s llvm-3.6
.0.spec
-u http
://llvm.org
/releases
/3.6.0/llvm-3.6
.0.src.
tar.xz
)
126 [ ! -z "$WM_THIRD_PARTY_USE_PYTHON_27" ] && {
127 echo "Building python 2.7"
128 ( rpm_make
-p Python-2.7
-s Python-2.7.spec
-u http
://www.python.org
/ftp
/python
/2.7/Python-2.7.tgz
)
133 [ ! -z "$WM_THIRD_PARTY_USE_M4_1416" ] && {
134 echo "Building m4 1.4.16"
135 # You need a recent version of m4 in order to compile a recent version of bison
136 ( rpm_make
-p m4-1.4
.16 -s m4-1.4
.16.spec
-u http
://ftpmirror.gnu.org
/m
4/m4-1.4
.16.
tar.gz
)
141 [ ! -z "$WM_THIRD_PARTY_USE_BISON_27" ] && {
142 echo "Building bison 2.7"
143 # You need a recent version of m4 in order to compile a recent version of bison
144 ( rpm_make
-p bison-2.7
-s bison-2.7.spec
-u http
://ftpmirror.gnu.org
/bison
/bison-2.7.
tar.gz
)
149 [ ! -z "$WM_THIRD_PARTY_USE_FLEX_2535" ] && {
150 echo "Building flex 2.5.35"
151 ( rpm_make
-p flex-2.5
.35 -s flex-2.5
.35.spec
-u http
://downloads.sourceforge.net
/project
/flex
/flex
/flex-2.5
.35/flex-2.5
.35.
tar.gz
)
156 [ ! -z "$WM_THIRD_PARTY_USE_CMAKE_2812" ] && {
157 echo "Building cmake 2.8.12"
158 ( rpm_make
-p cmake-2.8
.12 -s cmake-2.8
.12.spec
-u http
://www.cmake.org
/files
/v2.8
/cmake-2.8
.12.
tar.gz
)
163 [ ! -z "$WM_THIRD_PARTY_USE_CMAKE_322" ] && {
164 echo "Building cmake 3.2.2"
165 ( rpm_make
-p cmake-3.2
.2 -s cmake-3.2
.2.spec
-u http
://www.cmake.org
/files
/v3.2
/cmake-3.2
.2.
tar.gz
)
168 echo ========================================
169 echo Done ThirdParty AllMake
: Stage1
170 echo ========================================
173 # ----------------------------------------------------------------- end-of-file