diff options
author | Francis Rowe <info@gluglug.org.uk> | 2016-03-07 16:10:10 +0000 |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2016-03-07 16:10:10 +0000 |
commit | 239bfb38a5586047fa8268d1aa0966133fb3ee0b (patch) | |
tree | 13903ac357fcd10f1c988b09eb4ccecfa4eaecd4 /resources/scripts/helpers | |
parent | d40b5c7b1a7b16b0c27828f615159c525306adb0 (diff) | |
download | librebootfr-239bfb38a5586047fa8268d1aa0966133fb3ee0b.tar.gz librebootfr-239bfb38a5586047fa8268d1aa0966133fb3ee0b.zip |
Download, compile and clean crossgcc separately to coreboot
This means that coreboot can be re-downloaded and re-built without affecting
crossgcc. The crossgcc directory also now only contains crossgcc; previously,
it contained the entire coreboot source code too, which was unneeded because
that directory was just for crossgcc, where the real coreboot directories
symlink to it during the build process.
Diffstat (limited to 'resources/scripts/helpers')
-rwxr-xr-x | resources/scripts/helpers/build/clean/coreboot | 7 | ||||
-rwxr-xr-x | resources/scripts/helpers/build/clean/crossgcc | 28 | ||||
-rwxr-xr-x | resources/scripts/helpers/build/module/coreboot | 6 | ||||
-rwxr-xr-x | resources/scripts/helpers/build/module/crossgcc | 34 | ||||
-rwxr-xr-x | resources/scripts/helpers/download/coreboot | 25 | ||||
-rwxr-xr-x | resources/scripts/helpers/download/crossgcc | 54 |
6 files changed, 117 insertions, 37 deletions
diff --git a/resources/scripts/helpers/build/clean/coreboot b/resources/scripts/helpers/build/clean/coreboot index baaabbd4..ac9c6f08 100755 --- a/resources/scripts/helpers/build/clean/coreboot +++ b/resources/scripts/helpers/build/clean/coreboot @@ -45,11 +45,4 @@ for payload in coreboot/*; do done done -# Also do the same for the crossgcc version of coreboot -make -C "crossgcc/" crossgcc-clean -for util in {cbfs,ifd,nvram}tool cbmem; do - make -C "crossgcc/util/${util}/" clean -done -make -C "crosgcc/" distclean - printf "\n\n" diff --git a/resources/scripts/helpers/build/clean/crossgcc b/resources/scripts/helpers/build/clean/crossgcc new file mode 100755 index 00000000..e0a52924 --- /dev/null +++ b/resources/scripts/helpers/build/clean/crossgcc @@ -0,0 +1,28 @@ +#!/bin/bash + +# helper script: clean the dependencies that were built in coreboot +# +# Copyright (C) 2014, 2015, 2016 Francis Rowe <info@gluglug.org.uk> +# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# This script assumes that the current working directory is the root + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +make -C "crossgcc/util/crossgcc/" distclean + diff --git a/resources/scripts/helpers/build/module/coreboot b/resources/scripts/helpers/build/module/coreboot index 5788343a..990de31a 100755 --- a/resources/scripts/helpers/build/module/coreboot +++ b/resources/scripts/helpers/build/module/coreboot @@ -200,9 +200,3 @@ for payload in coreboot/*; do done done -# Now build crossgcc -( -cd "crossgcc/" -make crossgcc-i386 -make crossgcc-arm -) diff --git a/resources/scripts/helpers/build/module/crossgcc b/resources/scripts/helpers/build/module/crossgcc new file mode 100755 index 00000000..17eaa64f --- /dev/null +++ b/resources/scripts/helpers/build/module/crossgcc @@ -0,0 +1,34 @@ +#!/bin/bash + +# helper script: builds crossgcc, needed by coreboot's build system +# +# Copyright (C) 2016 Francis Rowe <info@gluglug.org.uk> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# This script assumes that the working directory is the root +# of git or release archive + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +./build clean crossgcc + +# Now build crossgcc +( +cd "crossgcc/util/crossgcc" +make build-i386 +make build-arm +) diff --git a/resources/scripts/helpers/download/coreboot b/resources/scripts/helpers/download/coreboot index 93af2884..047f8391 100755 --- a/resources/scripts/helpers/download/coreboot +++ b/resources/scripts/helpers/download/coreboot @@ -60,10 +60,6 @@ make_coreboot_src_directory() { ) } - -# coreboot revisios used for crossgcc -crossgccrevision="4351ace145c4069f9c93ca7541d6dfaf8300b53b" - printf "Downloading coreboot, patching coreboot and deblobbing coreboot\n" # This grabs current base used, and applies patches @@ -130,25 +126,6 @@ for payloads in ../../resources/libreboot/config/*; do done done - - -# prepare directory for crossgcc -rm -Rf "../../crossgcc/" -make_coreboot_src_directory crossgcc ${crossgccrevision} "no_vboot_revision" .. -( - cd "../crossgcc/${crossgccrevision}/" - git reset --hard ${crossgccrevision} - rm -Rf "3rdparty/" - - # Put this in its own separate directory - rm -Rf "../../../crossgcc" - cd ../ - mv "${crossgccrevision}/" "crossgcc/" - mv "crossgcc/" ../../ - cd ../ - rm -Rf "crossgcc/" -) - # go back to _src/coreboot/ (containing all coreboot directories) cd "../" # delete the gitted one (not needed anymore) @@ -158,7 +135,7 @@ rm -Rf "coreboot/" # ------------------------------------------------------------------------------ printf "Deleting .git* in coreboot/ (history inside .git contains the blobs that were deleted)\n" -rm -Rf */*/.git* ../crossgcc/.git* +rm -Rf */*/.git* rm -Rf */*/3rdparty/*/.git* # Delete crossgcc from non-crossgcc coreboot archives diff --git a/resources/scripts/helpers/download/crossgcc b/resources/scripts/helpers/download/crossgcc new file mode 100755 index 00000000..853e3fdc --- /dev/null +++ b/resources/scripts/helpers/download/crossgcc @@ -0,0 +1,54 @@ +#!/bin/bash + +# helper script: downloads crossgcc, for building coreboot +# +# Copyright (C) 2016 Francis Rowe <info@gluglug.org.uk> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# This script assumes that the working directory is the +# root of libreboot_src or libreboot git. + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +if [ -f "version" ]; then + # _src release archive is being used + version="libreboot-$(cat version)" +else + # git repo is being used + version="libreboot-$(git describe --tags HEAD)" +fi + +# coreboot revisios used for crossgcc +crossgccrevision="4351ace145c4069f9c93ca7541d6dfaf8300b53b" + +rm -Rf "crossgcc/" +mkdir -p "crossgcc/" +( + cd "crossgcc/" + git clone https://review.coreboot.org/coreboot || git clone https://github.com/coreboot/coreboot.git + cd "coreboot/" + git reset --hard ${crossgccrevision} + mkdir -p "../util/" + mv "util/crossgcc/" "../util/" + cd "../" + rm -Rf "coreboot/" +) + +printf "Deblobbing coreboot\n" +./resources/utilities/coreboot-libre/deblob + + |