aboutsummaryrefslogtreecommitdiff
path: root/resources/scripts/helpers
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-03-07 16:10:10 +0000
committerFrancis Rowe <info@gluglug.org.uk>2016-03-07 16:10:10 +0000
commit239bfb38a5586047fa8268d1aa0966133fb3ee0b (patch)
tree13903ac357fcd10f1c988b09eb4ccecfa4eaecd4 /resources/scripts/helpers
parentd40b5c7b1a7b16b0c27828f615159c525306adb0 (diff)
downloadlibrebootfr-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-xresources/scripts/helpers/build/clean/coreboot7
-rwxr-xr-xresources/scripts/helpers/build/clean/crossgcc28
-rwxr-xr-xresources/scripts/helpers/build/module/coreboot6
-rwxr-xr-xresources/scripts/helpers/build/module/crossgcc34
-rwxr-xr-xresources/scripts/helpers/download/coreboot25
-rwxr-xr-xresources/scripts/helpers/download/crossgcc54
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
+
+