use externally built coreboot compilers

This commit is contained in:
Trammell hudson 2018-09-18 15:59:48 -04:00
parent 866358d5c7
commit 9ab033aa06
Failed to extract signature
2 changed files with 32 additions and 11 deletions

View File

@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: ubuntu:16.04
- image: osresearch/heads-ubuntu:16.04
steps:
- run:
name: Install dependencies
@ -36,25 +36,25 @@ jobs:
- run:
name: Bootstrap make
command: |
make bootstrap
make -j4 bootstrap
- run:
name: Bootstrap musl
name: Bootstrap coreboot-gcc
command: |
./build/make-4.2.1/make \
-j4 \
TOOLCHAIN=/home/builder/heads \
V=1 \
BOARD=qemu-coreboot \
musl-cross
coreboot-gcc
- run:
name: qemu-coreboot
command: |
./build/make-4.2.1/make \
TERM=dumb \
-j4 \
TOOLCHAIN=/home/builder/heads \
V=1 \
-j4 \
BOARD=qemu-coreboot \
- store-artifacts:
@ -67,8 +67,9 @@ jobs:
name: qemu-linuxboot
command: |
./build/make-4.2.1/make \
-j4 \
TOOLCHAIN=/home/builder/heads \
V=1 \
-j4 \
BOARD=qemu-linuxboot \
- store-artifacts:
@ -81,6 +82,7 @@ jobs:
name: x230
command: |
./build/make-4.2.1/make \
TOOLCHAIN=/home/builder/heads \
-j4 \
V=1 \
BOARD=x230 \

View File

@ -39,14 +39,33 @@ coreboot_target := \
coreboot_output := coreboot.rom
coreboot_depend += linux initrd
COREBOOT_XGCC_REL := $(coreboot_base_dir)/util/crossgcc/xgcc
COREBOOT_XGCC_PATH := $(build)/$(COREBOOT_XGCC_REL)
COREBOOT_XGCC := $(COREBOOT_XGCC_PATH)/bin/i386-elf-gcc
# hack to force a build dependency on the cross compiler
coreboot-gcc: $(build)/$(coreboot_base_dir)/util/crossgcc/xgcc/bin/i386-elf-gcc
$(build)/$(coreboot_dir)/.configured: $(build)/$(coreboot_base_dir)/util/crossgcc/xgcc/bin/i386-elf-gcc
$(build)/$(coreboot_base_dir)/util/crossgcc/xgcc/bin/i386-elf-gcc: $(build)/$(coreboot_base_dir)/.canary
coreboot-gcc $(build)/$(coreboot_dir)/.configured: $(COREBOOT_XGCC)
ifeq "$(TOOLCHAIN)" ""
# Force a rebuild of the entire coreboot toolchain
$(COREBOOT_XGCC): $(build)/$(coreboot_base_dir)/.canary
echo '******* Building crossgcc-i386 (this might take a while) ******'
$(MAKE) -C "$(build)/$(coreboot_base_dir)" CPUS=`nproc` crossgcc-i386
#echo '******* Building crossgcc-arm (this might take a while) ******'
#$(MAKE) -C "$(build)/$(coreboot_base_dir)" crossgcc-arm
else
# Use the pre-build one from the external toolchain build
$(COREBOOT_XGCC):
if [ ! -e "$(TOOLCHAIN)/$(COREBOOT_XGCC_REL)" ]; then \
echo >&2 "ERROR: TOOLCHAIN=$(TOOLCHAIN) does not have coreboot" ; \
exit 1 ; \
fi
if [ ! -e "$(COREBOOT_XGCC_PATH)" ]; then \
ln -s \
"$(TOOLCHAIN)/build/$(coreboot_base_dir)/util/crossgcc/xgcc" \
"$(COREBOOT_XGCC_PATH)" ; \
fi
endif
# Force a rebuild if the inputs have changed
$(build)/$(coreboot_dir)/.build: \