mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2026-05-06 07:27:03 -04:00
80171d64a6
Closes: https://bugs.gentoo.org/971754 Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me> Part-of: https://codeberg.org/gentoo/gentoo/pulls/459 Merges: https://codeberg.org/gentoo/gentoo/pulls/459 Signed-off-by: Sam James <sam@gentoo.org>
64 lines
1.4 KiB
Bash
64 lines
1.4 KiB
Bash
# Copyright 2021-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit toolchain-funcs
|
|
|
|
if [[ ${PV} == 9999 ]]; then
|
|
EGIT_REPO_URI="git://c9x.me/qbe.git"
|
|
inherit git-r3
|
|
else
|
|
SRC_URI="https://c9x.me/compile/release/${P}.tar.xz"
|
|
|
|
# 64-bit RISC-V only
|
|
KEYWORDS="~amd64 ~arm64 ~riscv"
|
|
fi
|
|
|
|
DESCRIPTION="Pure-C embeddable compiler backend"
|
|
HOMEPAGE="https://c9x.me/compile/"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
|
|
DOCS=( README doc )
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
sed -i 's;^CC *=.*;CC ?= cc;' Makefile || die
|
|
|
|
# Needs to exec test binaries and /tmp can be mounted noexec
|
|
sed -i "s;^tmp=/tmp/;tmp=${T}/;" tools/test.sh || die
|
|
}
|
|
|
|
src_configure() {
|
|
# qbe's Makefile uses uname(1), leading to wrong default
|
|
# target when cross-compiling
|
|
if use elibc_Darwin; then
|
|
case ${CTARGET:-$CHOST} in
|
|
*aarch64*) echo '#define Deftgt T_arm64_apple' ;;
|
|
*x86_64*) echo '#define Deftgt T_amd64_apple' ;;
|
|
*) die "Unsupported target ${CTARGET:-$CHOST}" ;;
|
|
esac
|
|
else
|
|
case ${CTARGET:-$CHOST} in
|
|
*aarch64*) echo '#define Deftgt T_arm64' ;;
|
|
*riscv64*) echo '#define Deftgt T_rv64' ;;
|
|
*x86_64*) echo '#define Deftgt T_amd64_sysv' ;;
|
|
*) die "Unsupported target ${CTARGET:-$CHOST}" ;;
|
|
esac
|
|
fi > config.h || die
|
|
}
|
|
|
|
src_compile() {
|
|
tc-export CC
|
|
|
|
emake CFLAGS="-std=c99 ${CPPFLAGS} ${CFLAGS}"
|
|
}
|
|
|
|
src_install() {
|
|
einstalldocs
|
|
emake install DESTDIR="${ED}" PREFIX=/usr
|
|
}
|