initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
From da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d Mon Sep 17 00:00:00 2001
|
||||
From: Pyry Kontio <pyry.kontio@drasa.eu>
|
||||
Date: Mon, 6 Jul 2020 12:57:35 +0900
|
||||
Subject: [PATCH] Makefile: Fix building on AArch64 NixOS
|
||||
|
||||
The parsing of the output of archtest.c produced an unexpected
|
||||
value on AArch64 NixOS. For example, the make variable ARCH was set to:
|
||||
|
||||
```
|
||||
bit outside of fd_set selected
|
||||
arm
|
||||
```
|
||||
|
||||
This made the arch and OS checks fail.
|
||||
|
||||
This commit simplifies the parsing, making it more robust.
|
||||
|
||||
The C files archtest.c, endiantest.c and os.h used to set the
|
||||
TARGET_OS, ARCH and ENDIAN variables, respectively, output
|
||||
the result of the test as the final line, so just extracting
|
||||
the final line and removing double quoting is enough.
|
||||
|
||||
This commit also fixes a bug with debug_shell lacking escaping
|
||||
single quotes, which prevented using the single quote in the
|
||||
debug_shell calls. It used to work by accident before this fix;
|
||||
the line in the call happened to contain a balanced pair of double
|
||||
quotes and lacked other characters that needed escaping, which
|
||||
didn't break the debug_shell, but this was accidental and very
|
||||
brittle.
|
||||
|
||||
Signed-off-by: Pyry Kontio <pyry.kontio@drasa.eu>
|
||||
Change-Id: Iaa4477a71e758cf9ecad2c22f3b77bc6508a3510
|
||||
Reviewed-on: https://review.coreboot.org/c/flashrom/+/43140
|
||||
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
|
||||
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
|
||||
|
||||
[Retrieved from:
|
||||
https://github.com/flashrom/flashrom/commit/da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
Makefile | 16 ++++++++++------
|
||||
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f3f7717e2..e475cbdbd 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -83,7 +83,8 @@ dummy_for_make_3_80:=$(shell printf "Build started on %s\n\n" "$$(date)" >$(BUIL
|
||||
|
||||
# Provide an easy way to execute a command, print its output to stdout and capture any error message on stderr
|
||||
# in the build details file together with the original stdout output.
|
||||
-debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(1) ; }' >&2; { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE))
|
||||
+debug_shell = $(shell export LC_ALL=C ; { echo 'exec: export LC_ALL=C ; { $(subst ','\'',$(1)) ; }' >&2; \
|
||||
+ { $(1) ; } | tee -a $(BUILD_DETAILS_FILE) ; echo >&2 ; } 2>>$(BUILD_DETAILS_FILE))
|
||||
|
||||
###############################################################################
|
||||
# General OS-specific settings.
|
||||
@@ -106,7 +107,8 @@ endif
|
||||
# IMPORTANT: The following line must be placed before TARGET_OS is ever used
|
||||
# (of course), but should come after any lines setting CC because the line
|
||||
# below uses CC itself.
|
||||
-override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
|
||||
+override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null \
|
||||
+ | tail -1 | cut -f 2 -d'"'))
|
||||
|
||||
ifeq ($(TARGET_OS), Darwin)
|
||||
override CPPFLAGS += -I/opt/local/include -I/usr/local/include
|
||||
@@ -490,8 +492,10 @@ endif
|
||||
# IMPORTANT: The following line must be placed before ARCH is ever used
|
||||
# (of course), but should come after any lines setting CC because the line
|
||||
# below uses CC itself.
|
||||
-override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
|
||||
-override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
|
||||
+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \
|
||||
+ | tail -1 | cut -f 2 -d'"'))
|
||||
+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \
|
||||
+ | tail -1))
|
||||
|
||||
# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
|
||||
ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
|
||||
@@ -1299,12 +1303,12 @@ compiler: featuresavailable
|
||||
@printf "Target arch is "
|
||||
@# FreeBSD wc will output extraneous whitespace.
|
||||
@echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \
|
||||
- ( echo "unknown. Aborting."; exit 1)
|
||||
+ ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1)
|
||||
@printf "%s\n" '$(ARCH)'
|
||||
@printf "Target OS is "
|
||||
@# FreeBSD wc will output extraneous whitespace.
|
||||
@echo $(TARGET_OS)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \
|
||||
- ( echo "unknown. Aborting."; exit 1)
|
||||
+ ( echo "unknown (\"$(TARGET_OS)\"). Aborting."; exit 1)
|
||||
@printf "%s\n" '$(TARGET_OS)'
|
||||
ifeq ($(TARGET_OS), libpayload)
|
||||
@$(CC) --version 2>&1 | grep -q coreboot || \
|
||||
@@ -0,0 +1,24 @@
|
||||
config BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_aarch64 || BR2_aarch64_be
|
||||
default y if BR2_arc
|
||||
default y if BR2_arm || BR2_armeb
|
||||
default y if BR2_i386 || BR2_x86_64
|
||||
default y if BR2_m68k
|
||||
default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
||||
default y if BR2_riscv
|
||||
default y if BR2_sh
|
||||
default y if BR2_sparc || BR2_sparc64
|
||||
|
||||
config BR2_PACKAGE_FLASHROM
|
||||
bool "flashrom"
|
||||
depends on BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
|
||||
help
|
||||
flashrom is a utility for identifying, reading, writing,
|
||||
verifying and erasing flash chips. It is designed to flash
|
||||
BIOS/EFI/coreboot/firmware/optionROM images on mainboards,
|
||||
network/graphics/storage controller cards, and various other
|
||||
programmer devices.
|
||||
|
||||
http://flashrom.org/
|
||||
@@ -0,0 +1,4 @@
|
||||
# Locally computed after checking pgp signature
|
||||
# https://download.flashrom.org/releases/flashrom-v1.2.tar.bz2.asc
|
||||
sha256 e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b flashrom-v1.2.tar.bz2
|
||||
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
|
||||
@@ -0,0 +1,48 @@
|
||||
################################################################################
|
||||
#
|
||||
# flashrom
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FLASHROM_VERSION = 1.2
|
||||
FLASHROM_SOURCE = flashrom-v$(FLASHROM_VERSION).tar.bz2
|
||||
FLASHROM_SITE = https://download.flashrom.org/releases
|
||||
FLASHROM_LICENSE = GPL-2.0+
|
||||
FLASHROM_LICENSE_FILES = COPYING
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBFTDI),y)
|
||||
FLASHROM_DEPENDENCIES += host-pkgconf libftdi
|
||||
FLASHROM_MAKE_OPTS += \
|
||||
CONFIG_FT2232_SPI=yes \
|
||||
CONFIG_USBBLASTER_SPI=yes
|
||||
else
|
||||
FLASHROM_MAKE_OPTS += \
|
||||
CONFIG_FT2232_SPI=no \
|
||||
CONFIG_USBBLASTER_SPI=no
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBUSB),y)
|
||||
FLASHROM_DEPENDENCIES += host-pkgconf libusb
|
||||
FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes
|
||||
else
|
||||
FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PCIUTILS),y)
|
||||
FLASHROM_DEPENDENCIES += pciutils
|
||||
FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes
|
||||
else
|
||||
FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no
|
||||
endif
|
||||
|
||||
define FLASHROM_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \
|
||||
$(FLASHROM_MAKE_OPTS) -C $(@D)
|
||||
endef
|
||||
|
||||
define FLASHROM_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 0755 -D $(@D)/flashrom $(TARGET_DIR)/usr/sbin/flashrom
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user