54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
version = "16.1.0"
|
|
revision = 1
|
|
metadata = meta(
|
|
description = "GNU GCC cross-compiler targeting the system triple",
|
|
license = "GPL-3.0-or-later",
|
|
website = "https://gcc.gnu.org/",
|
|
)
|
|
source = tarball_source(
|
|
url = f"https://ftp.gnu.org/gnu/gcc/gcc-{version}/gcc-{version}.tar.xz",
|
|
sha256 = "50efb4d94c3397aff3b0d61a5abd748b4dd31d9d3f2ab7be05b171d36a510f79",
|
|
strip_components = 1,
|
|
)
|
|
host_deps = ["binutils", "gcc-bootstrap"]
|
|
deps = [options.libc, "linux-headers"]
|
|
|
|
def configure(ctx):
|
|
ctx.run([
|
|
ctx.source_dir / "configure",
|
|
"--target=" + options.target_triple,
|
|
"--prefix=/",
|
|
"--with-sysroot=" + ctx.sysroot,
|
|
"--with-build-sysroot=" + ctx.sysroot,
|
|
"--enable-languages=c,c++,lto",
|
|
"--disable-bootstrap",
|
|
"--enable-default-pie",
|
|
"--enable-default-ssp",
|
|
"--enable-lto",
|
|
"--enable-threads=posix",
|
|
"--enable-tls",
|
|
"--enable-libstdcxx-time",
|
|
"--enable-checking=release",
|
|
"--enable-cet=auto",
|
|
"--enable-linker-build-id",
|
|
"--disable-nls",
|
|
"--disable-multilib",
|
|
"--disable-fixed-point",
|
|
"--disable-werror",
|
|
"--disable-libsanitizer",
|
|
"--disable-symvers",
|
|
], env = {
|
|
"CFLAGS": options.host_cflags,
|
|
"CXXFLAGS": options.host_cxxflags,
|
|
"LDFLAGS": options.host_ldflags,
|
|
})
|
|
|
|
def build(ctx):
|
|
ctx.run(["make", "-j" + str(ctx.jobs)])
|
|
|
|
def install(ctx, pkg):
|
|
ctx.run(["make", "install-strip"], env = {"DESTDIR": pkg.dest_dir})
|
|
|
|
# Drop libtool archives.
|
|
ctx.run(["find", pkg.dest_dir, "-name", "*.la", "-delete"])
|