Merge commit '8d83cebef638c75e56f746690399d78a572f079a'
[foam-extend-4.0.git] / ThirdParty / AllMake.stage1
blob8fc1009c8ea9df6dc8be4c3969da3f4b08bef5fc
1 #!/bin/bash
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | foam-extend: Open Source CFD
5 # \\ / O peration |
6 # \\ / A nd | For copyright notice see file Copyright
7 # \\/ M anipulation |
8 #------------------------------------------------------------------------------
9 # License
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/>.
25 # Script
26 # AllMake.stage1
28 # Description
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
39 # Requirements:
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
43 # Author:
44 # Martin Beaudoin, Hydro-Quebec, (2015)
46 #------------------------------------------------------------------------------
47 # run from third-party directory only
48 cd ${0%/*} || exit 1
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."
54 exit 1
56 . tools/makeThirdPartyFunctionsForRPM
57 #------------------------------------------------------------------------------
59 echo ========================================
60 echo Starting ThirdParty AllMake: Stage1
61 echo ========================================
62 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.7.4 and companion libraries
105 [ ! -z "$WM_THIRD_PARTY_USE_GCC_474" ] && {
106 echo "Building gmp-5.0.5 mpfr-3.1.0 mpc-0.9 gcc-4.6.3"
107 ( 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 )
108 ( 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 )
109 ( 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 )
110 ( 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 )
113 # Gcc 4.8.4 and companion libraries
115 [ ! -z "$WM_THIRD_PARTY_USE_GCC_484" ] && {
116 echo "Building gcc-4.8.4"
117 ( 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 )
120 # Gcc 4.9.2 and companion libraries
122 [ ! -z "$WM_THIRD_PARTY_USE_GCC_492" ] && {
123 echo "Building gcc-4.9.2"
124 ( 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 )
127 # Clang 3.6.0
129 [ ! -z "$WM_THIRD_PARTY_USE_LLVM_360" ] && {
130 echo "Building llvm and clang 3.6.0"
131 ( 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 )
134 # Python 2.7
136 [ ! -z "$WM_THIRD_PARTY_USE_PYTHON_27" ] && {
137 echo "Building python 2.7"
138 ( rpm_make -p Python-2.7 -s Python-2.7.spec -u http://www.python.org/ftp/python/2.7/Python-2.7.tgz )
141 # m4 1.4.16
143 [ ! -z "$WM_THIRD_PARTY_USE_M4_1416" ] && {
144 echo "Building m4 1.4.16"
145 # You need a recent version of m4 in order to compile a recent version of bison
146 ( rpm_make -p m4-1.4.16 -s m4-1.4.16.spec -u http://ftpmirror.gnu.org/m4/m4-1.4.16.tar.gz )
149 # bison 2.7
151 [ ! -z "$WM_THIRD_PARTY_USE_BISON_27" ] && {
152 echo "Building bison 2.7"
153 # You need a recent version of m4 in order to compile a recent version of bison
154 ( rpm_make -p bison-2.7 -s bison-2.7.spec -u http://ftpmirror.gnu.org/bison/bison-2.7.tar.gz )
157 # flex 2.5.35
159 [ ! -z "$WM_THIRD_PARTY_USE_FLEX_2535" ] && {
160 echo "Building flex 2.5.35"
161 ( 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 )
164 # cmake 2.8.12
166 [ ! -z "$WM_THIRD_PARTY_USE_CMAKE_2812" ] && {
167 echo "Building cmake 2.8.12"
168 ( 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 )
171 # cmake 3.2.2
173 [ ! -z "$WM_THIRD_PARTY_USE_CMAKE_322" ] && {
174 echo "Building cmake 3.2.2"
175 ( 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 )
178 echo ========================================
179 echo Done ThirdParty AllMake: Stage1
180 echo ========================================
181 echo
183 # ----------------------------------------------------------------- end-of-file