[no ci] General: set toolchain name based on chipset family (#1612)

pull/1619/head image
viktorxda 2024-11-21 21:54:53 +01:00 committed by GitHub
parent 1c5f0e93be
commit d6c4b42bcc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 56 additions and 36 deletions

View File

@ -8,6 +8,7 @@ env:
SIGMASTAR: ssc30kd ssc30kq ssc325 ssc333 ssc335 ssc335de ssc337 ssc337de ssc338q ssc377 ssc377d ssc377de ssc378de SIGMASTAR: ssc30kd ssc30kq ssc325 ssc333 ssc335 ssc335de ssc337 ssc337de ssc338q ssc377 ssc377d ssc377de ssc378de
INGENIC: t10 t10l t20 t20l t20x t21n t30a t30a1 t30l t30n t30x t31a t31al t31l t31lc t31n t31x INGENIC: t10 t10l t20 t20l t20x t21n t30a t30a1 t30l t30n t30x t31a t31al t31l t31lc t31n t31x
ALLWINNER: v851s ALLWINNER: v851s
TAG_NAME: image
jobs: jobs:
toolchain: toolchain:
@ -20,9 +21,9 @@ jobs:
create() { create() {
uboot=u-boot-$1-nor.bin uboot=u-boot-$1-nor.bin
firmware=openipc.$2-nor-$3.tgz firmware=openipc.$2-nor-$3.tgz
release=images/openipc-$1-nor-$3.bin release=image/openipc-$1-nor-$3.bin
mkdir -p images output mkdir -p image output
if ! wget -nv $link/$uboot -O output/$1.bin; then if ! wget -nv $link/$uboot -O output/$1.bin; then
echo -e "Download failed: $link/$uboot\n" echo -e "Download failed: $link/$uboot\n"
return 0 return 0
@ -56,6 +57,6 @@ jobs:
- name: Upload - name: Upload
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: images tag_name: ${{env.TAG_NAME}}
make_latest: false make_latest: false
files: images/*.bin files: image/*.bin

View File

@ -3,7 +3,7 @@ on:
workflow_dispatch: workflow_dispatch:
env: env:
TAG_NAME: latest TAG_NAME: toolchain
jobs: jobs:
toolchain: toolchain:
@ -26,9 +26,6 @@ jobs:
# Ingenic [T31] # Ingenic [T31]
- {"platform": "t31"} - {"platform": "t31"}
# Ingenic [T31] with GLIBC
- {"platform": "t31glibc"}
# Ingenic [T40] # Ingenic [T40]
- {"platform": "t40"} - {"platform": "t40"}
@ -84,11 +81,9 @@ jobs:
URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC} URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}
echo ${URL} echo ${URL}
if ! wget -q --spider ${URL}; then if ! wget -q --spider ${URL}; then
sed -i "/BR2_TOOLCHAIN_EXTERNAL.*/d" ${CONFIG}
echo BR2_PACKAGE_HOST_GDB=y >> ${CONFIG} echo BR2_PACKAGE_HOST_GDB=y >> ${CONFIG}
echo BR2_PACKAGE_AWS_WEBRTC=y >> ${CONFIG} echo BR2_PACKAGE_AWS_WEBRTC=y >> ${CONFIG}
make BOARD=${CONFIG} br-source make BOARD=${CONFIG} toolchain
make BOARD=${CONFIG} br-sdk
SDK=$(find output/images -name *_sdk-buildroot.tar.gz) SDK=$(find output/images -name *_sdk-buildroot.tar.gz)
mv ${SDK} ${GCC} mv ${SDK} ${GCC}
echo GCC=${GCC} >> ${GITHUB_ENV} echo GCC=${GCC} >> ${GITHUB_ENV}
@ -98,4 +93,5 @@ jobs:
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: ${{env.TAG_NAME}} tag_name: ${{env.TAG_NAME}}
make_latest: false
files: ${{env.GCC}} files: ${{env.GCC}}

View File

@ -2,6 +2,7 @@ BR_VER = 2024.02.6
BR_MAKE = $(MAKE) -C $(TARGET)/buildroot-$(BR_VER) BR2_EXTERNAL=$(PWD)/general O=$(TARGET) BR_MAKE = $(MAKE) -C $(TARGET)/buildroot-$(BR_VER) BR2_EXTERNAL=$(PWD)/general O=$(TARGET)
BR_LINK = https://github.com/buildroot/buildroot/archive BR_LINK = https://github.com/buildroot/buildroot/archive
BR_FILE = /tmp/buildroot-$(BR_VER).tar.gz BR_FILE = /tmp/buildroot-$(BR_VER).tar.gz
BR_CONF = $(TARGET)/openipc_defconfig
TARGET ?= $(PWD)/output TARGET ?= $(PWD)/output
CONFIG = $(error variable BOARD not defined) CONFIG = $(error variable BOARD not defined)
@ -29,8 +30,8 @@ br-%: defconfig
defconfig: prepare defconfig: prepare
@echo --- $(or $(CONFIG),$(error variable BOARD not found)) @echo --- $(or $(CONFIG),$(error variable BOARD not found))
@cat $(CONFIG) $(PWD)/general/openipc.fragment > $(TARGET)/openipc_defconfig @cat $(CONFIG) $(PWD)/general/openipc.fragment > $(BR_CONF)
@$(BR_MAKE) BR2_DEFCONFIG=$(TARGET)/openipc_defconfig defconfig @$(BR_MAKE) BR2_DEFCONFIG=$(BR_CONF) defconfig
prepare: prepare:
@if test ! -e $(TARGET)/buildroot-$(BR_VER); then \ @if test ! -e $(TARGET)/buildroot-$(BR_VER); then \
@ -53,7 +54,7 @@ package:
@find $(PWD)/general/package/* -maxdepth 0 -type d -printf "br-%f\n" | grep -v patch @find $(PWD)/general/package/* -maxdepth 0 -type d -printf "br-%f\n" | grep -v patch
toolname: toolname:
@$(PWD)/general/scripts/show_toolchains.sh $(CONFIG) @echo br-sdk-$(BR2_OPENIPC_SOC_VENDOR)-$(BR2_OPENIPC_SOC_FAMILY)
clean: clean:
@rm -rf $(TARGET)/build $(TARGET)/images $(TARGET)/per-package $(TARGET)/target @rm -rf $(TARGET)/build $(TARGET)/images $(TARGET)/per-package $(TARGET)/target
@ -68,6 +69,13 @@ deps:
timer: timer:
@echo - Build time: $(shell date -d @$(shell expr $(shell date +%s) - $(TIMER)) -u +%M:%S) @echo - Build time: $(shell date -d @$(shell expr $(shell date +%s) - $(TIMER)) -u +%M:%S)
toolchain: defconfig
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
@$(MAKE) -f $(PWD)/general/toolchain.mk BR_CONF=$(BR_CONF) CONFIG=$(PWD)/$(CONFIG)
@$(BR_MAKE) BR2_DEFCONFIG=$(BR_CONF) defconfig
endif
@$(BR_MAKE) sdk
repack: repack:
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y) ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8") ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8")

View File

@ -5,7 +5,6 @@ BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_UCLIBC=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-uclibcgnueabi"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y

View File

@ -5,7 +5,6 @@ BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_UCLIBC=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz" BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-uclibcgnueabi" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-uclibcgnueabi"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3=y

View File

@ -7,7 +7,7 @@ export OPENIPC_MAJESTIC := $(call qstrip,$(BR2_OPENIPC_MAJESTIC))
export WGET := wget --show-progress --passive-ftp -nd -t5 -T10 export WGET := wget --show-progress --passive-ftp -nd -t5 -T10
EXTERNAL_VENDOR := $(BR2_EXTERNAL)/../br-ext-chip-$(OPENIPC_SOC_VENDOR) EXTERNAL_VENDOR := $(BR2_EXTERNAL)/../br-ext-chip-$(OPENIPC_SOC_VENDOR)
OPENIPC_TOOLCHAIN := latest/$(shell $(BR2_EXTERNAL)/scripts/show_toolchains.sh $(BR2_DEFCONFIG))
OPENIPC_KERNEL := $(OPENIPC_SOC_VENDOR)-$(OPENIPC_SOC_FAMILY) OPENIPC_KERNEL := $(OPENIPC_SOC_VENDOR)-$(OPENIPC_SOC_FAMILY)
OPENIPC_TOOLCHAIN := toolchain/br-sdk-$(OPENIPC_KERNEL)
include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk)) include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))

View File

@ -1,19 +0,0 @@
#!/bin/bash
if [ -z "$1" ]; then
echo "Configuration file missing"
exit 0
fi
LIST="arm11.+=y|cortex.+=y|mips_xburst=y"
SOC=$(grep -E "${LIST}" "$1" | sed -rn "s/BR2_(.*)=y/\1/p")
THUMB=$(grep -q "THUMB2=y" "$1" && echo _thumb2)
FLOAT=$(grep -qE "VFPV3=y|VFPV4=y" "$1" && ! grep -q "ARM_EABI=y" "$1" && echo _hf)
LINUX=$(grep -oP "HEADERS.+\K\d+.\d+" "$1")
if grep -q "MUSL=y" "$1"; then
LIB=musl
elif grep -q "UCLIBC=y" "$1"; then
LIB=uclibc
fi
echo "${SOC:-arm926t}${THUMB}${FLOAT}-gcc13-${LIB:-glibc}-${LINUX}"

View File

@ -0,0 +1,36 @@
include $(CONFIG)
all:
@echo -e "\n# SDK" >> $(BR_CONF)
@echo "BR2_TOOLCHAIN_BUILDROOT=y" >> $(BR_CONF)
@echo "BR2_TOOLCHAIN_BUILDROOT_VENDOR=\"openipc\"" >> $(BR_CONF)
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL),y)
@echo "BR2_TOOLCHAIN_BUILDROOT_MUSL=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC),y)
@echo "BR2_TOOLCHAIN_BUILDROOT_GLIBC=y" >> $(BR_CONF)
else
@echo "BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y" >> $(BR_CONF)
endif
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CXX),y)
@echo "BR2_TOOLCHAIN_BUILDROOT_CXX=y" >> $(BR_CONF)
endif
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3=y" >> $(BR_CONF)
else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0),y)
@echo "BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y" >> $(BR_CONF)
endif
@echo "BR2_GCC_VERSION_13_X=y" >> $(BR_CONF)