From 3b5934936e5f41a8cfd7a2bc29851451ce8de17a Mon Sep 17 00:00:00 2001
From: Stefan Reinauer <stefan.reinauer@coreboot.org>
Date: Mon, 19 Jun 2017 17:28:54 -0700
Subject: Add CMake 3.9.0-rc3 to coreboot toolchain
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Newer versions of clang will need newer versions of CMake (at least
3.4.3) to compile. This patch will enable us to switch to clang 4.0.

Change-Id: I6c91163ce0efd4eb2410cdb433de8be23d510ecd
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: https://review.coreboot.org/20273
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
---
 util/crossgcc/buildgcc | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

(limited to 'util/crossgcc/buildgcc')

diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 3a67ef85cc..c095d0e371 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -18,8 +18,8 @@
 
 cd $(dirname $0)
 
-CROSSGCC_DATE="March 3rd, 2017"
-CROSSGCC_VERSION="1.44"
+CROSSGCC_DATE="June 13th, 2017"
+CROSSGCC_VERSION="1.45"
 CROSSGCC_COMMIT=$( git describe )
 
 # default settings
@@ -49,6 +49,7 @@ EXPAT_VERSION=2.1.1
 # CLANG version number
 CLANG_VERSION=3.9.1
 MAKE_VERSION=4.2.1
+CMAKE_VERSION=3.9.0-rc3
 
 # GCC toolchain archive locations
 # These are sanitized by the jenkins toolchain test builder, so if
@@ -70,11 +71,12 @@ CFE_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/cfe-${CLANG_VERSION}.src.
 CRT_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/compiler-rt-${CLANG_VERSION}.src.tar.xz"
 CTE_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/clang-tools-extra-${CLANG_VERSION}.src.tar.xz"
 MAKE_ARCHIVE="http://ftpmirror.gnu.org/make/make-${MAKE_VERSION}.tar.bz2"
+CMAKE_ARCHIVE="https://cmake.org/files/v3.9/cmake-${CMAKE_VERSION}.tar.gz"
 
 ALL_ARCHIVES="$GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \
 	$GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE $IASL_ARCHIVE \
 	$PYTHON_ARCHIVE $EXPAT_ARCHIVE $LLVM_ARCHIVE $CFE_ARCHIVE \
-	$CRT_ARCHIVE $CTE_ARCHIVE $MAKE_ARCHIVE"
+	$CRT_ARCHIVE $CTE_ARCHIVE $MAKE_ARCHIVE $CMAKE_ARCHIVE"
 
 # GCC toolchain directories
 GMP_DIR="gmp-${GMP_VERSION}"
@@ -93,6 +95,7 @@ CFE_DIR="cfe-${CLANG_VERSION}.src"
 CRT_DIR="compiler-rt-${CLANG_VERSION}.src"
 CTE_DIR="clang-tools-extra-${CLANG_VERSION}.src"
 MAKE_DIR="make-${MAKE_VERSION}"
+CMAKE_DIR="cmake-${CMAKE_VERSION}"
 
 unset MAKELEVEL MAKEFLAGS
 
@@ -739,6 +742,15 @@ build_MAKE() {
 	normalize_dirs
 }
 
+build_CMAKE() {
+	CC="$CC" CFLAGS="$HOSTCFLAGS" ../${CMAKE_DIR}/configure --prefix=$TARGETDIR \
+		 || touch .failed
+	$MAKE $JOBS || touch .failed
+	$MAKE install DESTDIR=$DESTDIR || touch .failed
+
+	normalize_dirs
+}
+
 print_stable() {
 	case "$PRINTSTABLE" in
 		AUTOCONF|autoconf)  printf "%s\n" "$GCC_AUTOCONF_VERSION";;
@@ -867,6 +879,10 @@ case "$PACKAGE" in
 		NAME="GNU Make"
 		PACKAGES=MAKE
 		;;
+	CMAKE|cmake)
+		NAME="CMake"
+		PACKAGES=CMAKE
+		;;
 	*)
 		printf "${red}ERROR: Unsupported package $PACKAGE. (Supported packages are GCC, GDB, CLANG, IASL, MAKE)${NC}\n\n";
 		exit 1
-- 
cgit v1.2.3