Changes in tools/toolchain.sh [3666d38:3f7efa79] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tools/toolchain.sh
r3666d38 r3f7efa79 52 52 #endif 53 53 EOF 54 55 BINUTILS_VERSION="2.21"56 GCC_VERSION="4.6.1"57 GDB_VERSION="7.2"58 59 BASEDIR="`pwd`"60 BINUTILS="binutils-${BINUTILS_VERSION}.tar.bz2"61 GCC_CORE="gcc-core-${GCC_VERSION}.tar.bz2"62 GCC_OBJC="gcc-objc-${GCC_VERSION}.tar.bz2"63 GCC_CPP="gcc-g++-${GCC_VERSION}.tar.bz2"64 GDB="gdb-${GDB_VERSION}.tar.bz2"65 54 66 55 # … … 150 139 echo " sparc64 SPARC V9" 151 140 echo " all build all targets" 152 echo " parallel same as 'all', but in parallel"153 141 echo 154 142 echo "The toolchain will be installed to the directory specified by" 155 143 echo "the CROSS_PREFIX environment variable. If the variable is not" 156 echo "defined, /usr/local /crosswill be used by default."144 echo "defined, /usr/local will be used by default." 157 145 echo 158 146 … … 206 194 } 207 195 208 download_ fetch() {196 download_check() { 209 197 SOURCE="$1" 210 198 FILE="$2" … … 220 208 } 221 209 222 source_check() {223 FILE="$1"224 225 if [ ! -f "${FILE}" ]; then226 echo227 echo "File ${FILE} not found."228 229 exit 4230 fi231 }232 233 210 cleanup_dir() { 234 211 DIR="$1" … … 264 241 } 265 242 266 prepare() { 267 show_dependencies 268 check_dependecies 269 show_countdown 10 270 271 BINUTILS_SOURCE="ftp://ftp.gnu.org/gnu/binutils/" 272 GCC_SOURCE="ftp://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/" 273 GDB_SOURCE="ftp://ftp.gnu.org/gnu/gdb/" 274 275 download_fetch "${BINUTILS_SOURCE}" "${BINUTILS}" "c84c5acc9d266f1a7044b51c85a823f5" 276 download_fetch "${GCC_SOURCE}" "${GCC_CORE}" "0c0e7e35d2215e19de9c97efba507553" 277 download_fetch "${GCC_SOURCE}" "${GCC_OBJC}" "cbf0d4b701827922cf37ba6a4ace0079" 278 download_fetch "${GCC_SOURCE}" "${GCC_CPP}" "0d75ca7ca35b1e7f252223f9d23a6ad1" 279 download_fetch "${GDB_SOURCE}" "${GDB}" "64260e6c56979ee750a01055f16091a5" 243 patch_binutils() { 244 PLATFORM="$1" 245 246 if [ "${PLATFORM}" == "arm32" ] ; then 247 patch -p1 <<EOF 248 diff -Naur binutils-2.20.orig/gas/config/tc-arm.c binutils-2.20/gas/config/tc-arm.c 249 --- binutils-2.20.orig/gas/config/tc-arm.c 2009-08-30 00:10:59.000000000 +0200 250 +++ binutils-2.20/gas/config/tc-arm.c 2009-11-02 14:25:11.000000000 +0100 251 @@ -2485,8 +2485,9 @@ 252 know (frag->tc_frag_data.first_map == NULL); 253 frag->tc_frag_data.first_map = symbolP; 254 } 255 - if (frag->tc_frag_data.last_map != NULL) 256 + if (frag->tc_frag_data.last_map != NULL) { 257 know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP)); 258 + } 259 frag->tc_frag_data.last_map = symbolP; 260 } 261 EOF 262 check_error $? "Error patching binutils" 263 fi 280 264 } 281 265 … … 284 268 TARGET="$2" 285 269 286 WORKDIR="${BASEDIR}/${PLATFORM}" 270 BINUTILS_VERSION="2.20" 271 GCC_VERSION="4.5.1" 272 273 BINUTILS="binutils-${BINUTILS_VERSION}.tar.bz2" 274 GCC_CORE="gcc-core-${GCC_VERSION}.tar.bz2" 275 GCC_OBJC="gcc-objc-${GCC_VERSION}.tar.bz2" 276 GCC_CPP="gcc-g++-${GCC_VERSION}.tar.bz2" 277 278 BINUTILS_SOURCE="ftp://ftp.gnu.org/gnu/binutils/" 279 GCC_SOURCE="ftp://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/" 280 281 WORKDIR="`pwd`" 287 282 BINUTILSDIR="${WORKDIR}/binutils-${BINUTILS_VERSION}" 288 283 GCCDIR="${WORKDIR}/gcc-${GCC_VERSION}" 289 284 OBJDIR="${WORKDIR}/gcc-obj" 290 GDBDIR="${WORKDIR}/gdb-${GDB_VERSION}"291 285 292 286 if [ -z "${CROSS_PREFIX}" ] ; then 293 CROSS_PREFIX="/usr/local /cross"287 CROSS_PREFIX="/usr/local" 294 288 fi 295 289 … … 297 291 298 292 echo ">>> Downloading tarballs" 299 source_check "${BASEDIR}/${BINUTILS}" 300 source_check "${BASEDIR}/${GCC_CORE}" 301 source_check "${BASEDIR}/${GCC_OBJC}" 302 source_check "${BASEDIR}/${GCC_CPP}" 303 source_check "${BASEDIR}/${GDB}" 293 download_check "${BINUTILS_SOURCE}" "${BINUTILS}" "ee2d3e996e9a2d669808713360fa96f8" 294 download_check "${GCC_SOURCE}" "${GCC_CORE}" "dc8959e31b01a65ce10d269614815054" 295 download_check "${GCC_SOURCE}" "${GCC_OBJC}" "3c11b7037896e967eddf8178af2ddd98" 296 download_check "${GCC_SOURCE}" "${GCC_CPP}" "b294953ff0bb2f20c7acb2bf005d832a" 304 297 305 298 echo ">>> Removing previous content" 306 299 cleanup_dir "${PREFIX}" 307 cleanup_dir "${WORKDIR}" 300 cleanup_dir "${OBJDIR}" 301 cleanup_dir "${BINUTILSDIR}" 302 cleanup_dir "${GCCDIR}" 308 303 309 304 create_dir "${PREFIX}" "destination directory" … … 311 306 312 307 echo ">>> Unpacking tarballs" 313 cd "${WORKDIR}" 314 check_error $? "Change directory failed." 315 316 unpack_tarball "${BASEDIR}/${BINUTILS}" "binutils" 317 unpack_tarball "${BASEDIR}/${GCC_CORE}" "GCC Core" 318 unpack_tarball "${BASEDIR}/${GCC_OBJC}" "Objective C" 319 unpack_tarball "${BASEDIR}/${GCC_CPP}" "C++" 320 unpack_tarball "${BASEDIR}/${GDB}" "GDB" 308 unpack_tarball "${BINUTILS}" "binutils" 309 unpack_tarball "${GCC_CORE}" "GCC Core" 310 unpack_tarball "${GCC_OBJC}" "Objective C" 311 unpack_tarball "${GCC_CPP}" "C++" 321 312 322 313 echo ">>> Processing binutils (${PLATFORM})" 323 314 cd "${BINUTILSDIR}" 324 315 check_error $? "Change directory failed." 316 patch_binutils "${PLATFORM}" 325 317 326 318 change_title "binutils: configure (${PLATFORM})" 327 CFLAGS=-Wno-error./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls319 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls 328 320 check_error $? "Error configuring binutils." 329 321 … … 344 336 check_error $? "Error compiling/installing GCC." 345 337 346 echo ">>> Processing GDB (${PLATFORM})" 347 cd "${GDBDIR}" 338 cd "${WORKDIR}" 348 339 check_error $? "Change directory failed." 349 340 350 change_title "GDB: configure (${PLATFORM})"351 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-"352 check_error $? "Error configuring GDB."353 354 change_title "GDB: make (${PLATFORM})"355 make all install356 check_error $? "Error compiling/installing GDB."357 358 cd "${BASEDIR}"359 check_error $? "Change directory failed."360 361 341 echo ">>> Cleaning up" 362 cleanup_dir "${WORKDIR}" 342 cleanup_dir "${OBJDIR}" 343 cleanup_dir "${BINUTILSDIR}" 344 cleanup_dir "${GCCDIR}" 363 345 364 346 echo … … 370 352 fi 371 353 354 show_dependencies 355 check_dependecies 356 show_countdown 10 357 372 358 case "$1" in 373 359 "amd64") 374 prepare375 360 build_target "amd64" "amd64-linux-gnu" 376 361 ;; 377 362 "arm32") 378 prepare379 363 build_target "arm32" "arm-linux-gnu" 380 364 ;; 381 365 "ia32") 382 prepare383 366 build_target "ia32" "i686-pc-linux-gnu" 384 367 ;; 385 368 "ia64") 386 prepare387 369 build_target "ia64" "ia64-pc-linux-gnu" 388 370 ;; 371 "ia64") 372 build_target "ia64" "ia64-pc-linux-gnu" 373 ;; 389 374 "mips32") 390 prepare391 375 build_target "mips32" "mipsel-linux-gnu" 392 376 ;; 393 377 "mips32eb") 394 prepare395 378 build_target "mips32eb" "mips-linux-gnu" 396 379 ;; 397 380 "mips64") 398 prepare399 381 build_target "mips64" "mips64el-linux-gnu" 400 382 ;; 401 383 "ppc32") 402 prepare403 384 build_target "ppc32" "ppc-linux-gnu" 404 385 ;; 405 386 "ppc64") 406 prepare407 387 build_target "ppc64" "ppc64-linux-gnu" 408 388 ;; 409 389 "sparc64") 410 prepare411 390 build_target "sparc64" "sparc64-linux-gnu" 412 391 ;; 413 392 "all") 414 prepare415 393 build_target "amd64" "amd64-linux-gnu" 416 394 build_target "arm32" "arm-linux-gnu" 417 395 build_target "ia32" "i686-pc-linux-gnu" 396 build_target "ia64" "ia64-pc-linux-gnu" 418 397 build_target "ia64" "ia64-pc-linux-gnu" 419 398 build_target "mips32" "mipsel-linux-gnu" … … 424 403 build_target "sparc64" "sparc64-linux-gnu" 425 404 ;; 426 "parallel")427 prepare428 build_target "amd64" "amd64-linux-gnu" &429 build_target "arm32" "arm-linux-gnu" &430 build_target "ia32" "i686-pc-linux-gnu" &431 build_target "ia64" "ia64-pc-linux-gnu" &432 build_target "mips32" "mipsel-linux-gnu" &433 build_target "mips32eb" "mips-linux-gnu" &434 build_target "mips64" "mips64el-linux-gnu" &435 build_target "ppc32" "ppc-linux-gnu" &436 build_target "ppc64" "ppc64-linux-gnu" &437 build_target "sparc64" "sparc64-linux-gnu" &438 wait439 ;;440 405 *) 441 406 show_usage
Note:
See TracChangeset
for help on using the changeset viewer.