diff options
author | Joel Stanley <joel@jms.id.au> | 2015-12-06 22:54:23 +1030 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-04-14 10:57:47 -0500 |
commit | 34c894ec3706a1ded5f74be8b3ab5aaf33096d6d (patch) | |
tree | 9235e6ac6d7269e8d02ca162f3a87e8ca0d42133 /meta-openbmc-machines/meta-openpower/common/recipes-bsp | |
parent | b9a839be8260124bc2c8994f2bceea145e8e95d6 (diff) | |
download | talos-openbmc-34c894ec3706a1ded5f74be8b3ab5aaf33096d6d.tar.gz talos-openbmc-34c894ec3706a1ded5f74be8b3ab5aaf33096d6d.zip |
pflash: Add pflash recipe
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/common/recipes-bsp')
2 files changed, 121 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb new file mode 100644 index 000000000..b84335cf9 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb @@ -0,0 +1,23 @@ +SUMMARY = "pflash programmer for OpenPower" +DESCRIPTION = "pflash firmware programming tool for OpenPower machines" +HOMEPAGE = "https://github.com/open-power" +LICENSE = "Apache-2.0" + +SRC_URI += "git://github.com/open-power/skiboot.git" +LIC_FILES_CHKSUM = "file://${S}/LICENCE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "6677d2cefb60103156db713e2cdffb02b4a2d270" +PV = "pflash-git${SRCPV}" +SRC_URI += "file://0001-pflash-Allow-building-under-yocto.patch" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} PFLASH_VERSION=${PV} V=1' + +do_compile () { + oe_runmake -C external/pflash all +} + +do_install () { + oe_runmake -C external/pflash install DESTDIR=${D} +} diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch new file mode 100644 index 000000000..60d6a7b2e --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch @@ -0,0 +1,98 @@ +From bb362203a7cc7012ba723d8828491756f9bb4ecb Mon Sep 17 00:00:00 2001 +From: Patrick Williams <patrick@stwcx.xyz> +Date: Thu, 14 Apr 2016 10:46:22 -0500 +Subject: [PATCH] pflash: Allow building under yocto. + +The makefiles under external/* utilize the $(CROSS_COMPILE) variable +to determine the cross-compiler prefix. In a few places, +$(CROSS_COMPILE)gcc is called instead of $(CC). The issue with this is +that yocto build passes some compile flags as part of $(CC) instead of +$(CFLAGS), the most important of these is '--sysroot=...'. Without the +proper --sysroot flag, pflash compile fails to find critical libc +headers like stdio.h. + +This change delegates setting of $(CC) and $(LD) to +external/common/rules.mk, which is widely used in the external tree, and +ensures that: + 1) $(CC) is used instead of $(CROSS_COMPILE)gcc. + 2) CC is only set when not passed from the environment. + +Signed-off-by: Patrick Williams <patrick@stwcx.xyz> +--- + external/common/rules.mk | 6 ++++-- + external/gard/rules.mk | 2 -- + external/opal-prd/Makefile | 2 -- + external/pflash/rules.mk | 2 -- + external/shared/Makefile | 1 - + 5 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/external/common/rules.mk b/external/common/rules.mk +index ec20593..95a2757 100644 +--- a/external/common/rules.mk ++++ b/external/common/rules.mk +@@ -1,3 +1,5 @@ ++CC ?= $(CROSS_COMPILE)gcc ++LD ?= $(CROSS_COMPILE)ld + ARCH := $(shell $(GET_ARCH) "$(CROSS_COMPILE)") + + ifeq ($(ARCH),ARCH_ARM) +@@ -42,8 +44,8 @@ arch_clean: + $(ARCH_SRC): | common + + $(ARCH_OBJS): common-%.o: common/%.c +- $(Q_CC)$(CROSS_COMPILE)gcc $(CFLAGS) $(CPPFLAGS) -c $< -o $@ ++ $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + + common-arch_flash.o: $(ARCH_OBJS) +- $(Q_LD)$(CROSS_COMPILE)ld -r $(ARCH_OBJS) -o $@ ++ $(Q_LD)$(LD) -r $(ARCH_OBJS) -o $@ + +diff --git a/external/gard/rules.mk b/external/gard/rules.mk +index f0086a2..0dd14ed 100644 +--- a/external/gard/rules.mk ++++ b/external/gard/rules.mk +@@ -7,8 +7,6 @@ OBJS += $(LIBFLASH_OBJS) + OBJS += common-arch_flash.o + EXE = gard + +-CC = $(CROSS_COMPILE)gcc +- + prefix = /usr/local/ + sbindir = $(prefix)/sbin + datadir = $(prefix)/share +diff --git a/external/opal-prd/Makefile b/external/opal-prd/Makefile +index 3f34371..ff5ba6b 100644 +--- a/external/opal-prd/Makefile ++++ b/external/opal-prd/Makefile +@@ -1,5 +1,3 @@ +-CC = $(CROSS_COMPILE)gcc +- + CFLAGS += -m64 -Werror -Wall -g2 -ggdb + LDFLAGS += -m64 + ASFLAGS = -m64 +diff --git a/external/pflash/rules.mk b/external/pflash/rules.mk +index 219e3d3..aa426b5 100644 +--- a/external/pflash/rules.mk ++++ b/external/pflash/rules.mk +@@ -9,8 +9,6 @@ OBJS += $(LIBFLASH_OBJS) + OBJS += common-arch_flash.o + EXE = pflash + +-CC = $(CROSS_COMPILE)gcc +- + PFLASH_VERSION ?= $(shell ../../make_version.sh $(EXE)) + + version.c: .version +diff --git a/external/shared/Makefile b/external/shared/Makefile +index ffc049f..4c31657 100644 +--- a/external/shared/Makefile ++++ b/external/shared/Makefile +@@ -1,5 +1,4 @@ + .DEFAULT_GOAL := all +-CC ?= $(CROSS_COMPILE)gcc + GET_ARCH = ../../external/common/get_arch.sh + include ../../external/common/rules.mk + +-- +2.6.3 + |