Changes in tools/toolchain.sh [113fb4f:3e05a69] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/toolchain.sh

    r113fb4f r3e05a69  
    3131BINUTILS_GDB_GIT="https://github.com/HelenOS/binutils-gdb.git"
    3232
    33 BINUTILS_BRANCH="binutils-2_45-helenos"
    34 BINUTILS_VERSION="2.45"
     33BINUTILS_BRANCH="binutils-2_41-helenos"
     34BINUTILS_VERSION="2.41"
     35
     36GDB_BRANCH="gdb-13.2-helenos"
     37GDB_VERSION="13.2"
    3538
    3639GCC_GIT="https://github.com/HelenOS/gcc.git"
    37 GCC_BRANCH="15_2_0-helenos"
    38 GCC_VERSION="15.2"
     40GCC_BRANCH="13_2_0-helenos"
     41GCC_VERSION="13.2"
    3942
    4043BASEDIR="$PWD"
     
    4851SYSTEM_INSTALL=false
    4952
     53BUILD_GDB=false
    5054BUILD_BINUTILS=true
    5155BUILD_GCC=true
     
    6872        echo
    6973        echo "Syntax:"
     74        echo " $0 [--system-wide] [--with-gdb|--only-gdb] <platform>"
    7075        echo " $0 [--system-wide] --test-version [<platform>]"
    7176        echo
     
    142147                test_app_version "Binutils" "ld" "GNU ld (.*) \([.0-9]*\)" "$BINUTILS_VERSION"
    143148                test_app_version "GCC" "gcc" "gcc version \([.0-9]*\)" "$GCC_VERSION"
     149                test_app_version "GDB" "gdb" "GNU gdb (.*)[[:space:]]\+\([.0-9]*\)" "$GDB_VERSION"
    144150        done
    145151}
     
    258264                ( set -x ; sudo -k mkdir -p "${CROSS_PREFIX}" )
    259265        else
    260                 ( set -x ; mkdir -p "${CROSS_PREFIX}" )
     266                mkdir -p "${CROSS_PREFIX}"
    261267        fi
    262268
     
    304310                ./contrib/download_prerequisites
    305311                cd ..
     312        fi
     313
     314        if $BUILD_GDB ; then
     315                git clone --depth 1 -b "$GDB_BRANCH" "$BINUTILS_GDB_GIT" "gdb-$GDB_VERSION"
     316                git -C "gdb-$GDB_VERSION" pull
    306317        fi
    307318
     
    408419                --enable-languages=c,c++,go \
    409420                --enable-lto \
    410                 --enable-obsolete \
    411421                --disable-shared \
    412422                --disable-werror \
     
    455465}
    456466
     467build_gdb() {
     468        # This sets the TARGET variable
     469        set_target_from_platform "$1"
     470
     471        WORKDIR="${BASEDIR}/${TARGET}"
     472        GDBDIR="${WORKDIR}/gdb-${GDB_VERSION}"
     473
     474        echo ">>> Removing previous content"
     475        cleanup_dir "${WORKDIR}"
     476        mkdir -p "${WORKDIR}"
     477
     478        echo ">>> Processing GDB (${TARGET})"
     479        mkdir -p "${GDBDIR}"
     480        cd "${GDBDIR}"
     481        check_error $? "Change directory failed."
     482
     483        change_title "GDB: configure (${TARGET})"
     484        CFLAGS="-fcommon" "${BASEDIR}/downloads/gdb-${GDB_VERSION}/configure" \
     485                "--target=${TARGET}" \
     486                "--prefix=${CROSS_PREFIX}" \
     487                "--program-prefix=${TARGET}-" \
     488                --enable-werror=no
     489        check_error $? "Error configuring GDB."
     490
     491        change_title "GDB: make (${TARGET})"
     492        make all-gdb -j$JOBS
     493        check_error $? "Error compiling GDB."
     494
     495        change_title "GDB: install (${TARGET})"
     496        make install-gdb $DESTDIR_SPEC
     497        check_error $? "Error installing GDB."
     498}
     499
    457500install_pkg() {
    458501        echo ">>> Moving to the destination directory."
    459502        if $SYSTEM_INSTALL ; then
    460503                ring_bell
    461                 ( set -x ; tar -C "${INSTALL_DIR}${CROSS_PREFIX}" -cpf - . | sudo -k tar -C "${CROSS_PREFIX}" -xpf - )
     504                ( set -x ; sudo -k cp -r -t "${CROSS_PREFIX}" "${INSTALL_DIR}${CROSS_PREFIX}/"* )
    462505        else
    463                 ( set -x ; tar -C "${INSTALL_DIR}${CROSS_PREFIX}" -cpf - . | tar -C "${CROSS_PREFIX}" -xpf - )
     506                ( set -x ; cp -r -t "${CROSS_PREFIX}" "${INSTALL_DIR}${CROSS_PREFIX}/"* )
    464507        fi
    465508}
     
    468511        # Symlink clang and lld to the install path.
    469512        CLANG="`which clang 2> /dev/null || echo "/usr/bin/clang"`"
    470         CLANGPP="`which clang++ 2> /dev/null || echo "/usr/bin/clang++"`"
    471513        LLD="`which ld.lld 2> /dev/null || echo "/usr/bin/ld.lld"`"
    472514
    473515        ln -s $CLANG "${INSTALL_DIR}${CROSS_PREFIX}/bin/${TARGET}-clang"
    474         ln -s $CLANGPP "${INSTALL_DIR}${CROSS_PREFIX}/bin/${TARGET}-clang++"
    475516        ln -s $LLD "${INSTALL_DIR}${CROSS_PREFIX}/bin/${TARGET}-ld.lld"
    476517}
     
    486527                        exit
    487528                        ;;
     529                --with-gdb)
     530                        BUILD_GDB=true
     531                        shift
     532                        ;;
     533                --only-gdb)
     534                        BUILD_GDB=true
     535                        BUILD_BINUTILS=false
     536                        BUILD_GCC=false
     537                        shift
     538                        ;;
    488539                *)
    489540                        show_usage
     
    560611
    561612                $RUNNER build_libgcc
     613        fi
     614
     615        if $BUILD_GDB ; then
     616                $RUNNER build_gdb
    562617        fi
    563618
Note: See TracChangeset for help on using the changeset viewer.