version = "16.1.0" revision = 1 description = "GNU GCC cross-compiler (bootstrap stage, C/C++ only)" license = "GPL-3.0-or-later" source = tarball( url=f"https://ftp.gnu.org/gnu/gcc/gcc-{version}/gcc-{version}.tar.xz", sha256="50efb4d94c3397aff3b0d61a5abd748b4dd31d9d3f2ab7be05b171d36a510f79", ) host_deps = ["binutils"] def configure(self): self.run( self.source_dir / "configure", f"--target={self.triple}", f"--prefix={self.prefix}", f"--with-sysroot={self.sysroot}", "--without-headers", "--with-newlib", "--enable-languages=c,c++", "--enable-default-pie", "--enable-default-ssp", "--disable-nls", "--disable-shared", "--disable-threads", "--disable-libssp", "--disable-libgomp", "--disable-libquadmath", "--disable-libatomic", "--disable-libvtv", "--disable-multilib", env={ "CFLAGS": self.profile["host_cflags"], "CXXFLAGS": self.profile["host_cxxflags"], "LDFLAGS": self.profile["host_ldflags"], }, ) def build(self): self.run("make", f"-j{self.jobs}", "all-gcc") self.run("make", f"-j{self.jobs}", "all-target-libgcc") def install(self): self.run("make", "install-gcc", env={"DESTDIR": str(self.dest_dir)}) self.run("make", "install-target-libgcc", env={"DESTDIR": str(self.dest_dir)})