*: Switch to python
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
version = "2.72"
|
||||
revision = 1
|
||||
description = "GNU autoconf"
|
||||
license = "GPL-3.0-or-later"
|
||||
url = "https://www.gnu.org/software/autoconf/"
|
||||
source = tarball(
|
||||
url=f"https://ftp.gnu.org/gnu/autoconf/autoconf-{version}.tar.xz",
|
||||
sha256="ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a",
|
||||
)
|
||||
|
||||
|
||||
def configure(self):
|
||||
self.run(self.source_dir / "configure", f"--prefix={self.prefix}")
|
||||
|
||||
|
||||
def build(self):
|
||||
autotools_build(self)
|
||||
|
||||
|
||||
def install(self):
|
||||
autotools_install(self)
|
||||
@@ -0,0 +1,22 @@
|
||||
version = "1.17"
|
||||
revision = 1
|
||||
description = "GNU automake"
|
||||
license = "GPL-2.0-or-later"
|
||||
url = "https://www.gnu.org/software/automake/"
|
||||
source = tarball(
|
||||
url=f"https://ftp.gnu.org/gnu/automake/automake-{version}.tar.xz",
|
||||
sha256="8920c1fc411e13b90bf704ef9db6f29d540e76d232cb3b2c9f4dc4cc599bd990",
|
||||
)
|
||||
host_deps = ["autoconf"]
|
||||
|
||||
|
||||
def configure(self):
|
||||
self.run(self.source_dir / "configure", f"--prefix={self.prefix}")
|
||||
|
||||
|
||||
def build(self):
|
||||
autotools_build(self)
|
||||
|
||||
|
||||
def install(self):
|
||||
autotools_install(self)
|
||||
@@ -0,0 +1,39 @@
|
||||
version = "2.46.0"
|
||||
revision = 1
|
||||
description = "GNU binutils cross-compiled for the target triple"
|
||||
license = "GPL-3.0-or-later"
|
||||
source = tarball(
|
||||
url=f"https://ftp.gnu.org/gnu/binutils/binutils-{version}.tar.xz",
|
||||
sha256="d75a94f4d73e7a4086f7513e67e439e8fcdcbb726ffe63f4661744e6256b2cf2",
|
||||
)
|
||||
|
||||
|
||||
def configure(self):
|
||||
self.run(
|
||||
self.source_dir / "configure",
|
||||
f"--prefix={self.prefix}",
|
||||
f"--target={self.triple}",
|
||||
f"--with-sysroot={self.sysroot}",
|
||||
"--with-pic",
|
||||
"--enable-cet",
|
||||
"--enable-default-execstack=no",
|
||||
"--enable-deterministic-archives",
|
||||
"--enable-ld=default",
|
||||
"--enable-new-dtags",
|
||||
"--enable-plugins",
|
||||
"--enable-relro",
|
||||
"--enable-separate-code",
|
||||
"--enable-threads",
|
||||
"--disable-nls",
|
||||
"--disable-werror",
|
||||
# gprofng's libcollector relies on glibc-specific internals.
|
||||
"--disable-gprofng",
|
||||
env={
|
||||
"CFLAGS": self.profile["host_cflags"],
|
||||
"CXXFLAGS": self.profile["host_cxxflags"],
|
||||
"LDFLAGS": self.profile["host_ldflags"],
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
_, build, install = autotools()
|
||||
@@ -1,39 +0,0 @@
|
||||
version = "2.46.0"
|
||||
revision = 1
|
||||
metadata = meta(
|
||||
description = "GNU binutils cross-compiled for the target triple",
|
||||
license = "GPL-3.0-or-later",
|
||||
)
|
||||
source = tarball(
|
||||
url = f"https://ftp.gnu.org/gnu/binutils/binutils-{version}.tar.xz",
|
||||
sha256 = "d75a94f4d73e7a4086f7513e67e439e8fcdcbb726ffe63f4661744e6256b2cf2",
|
||||
strip_components = 1,
|
||||
)
|
||||
|
||||
def configure(ctx):
|
||||
ctx.run(
|
||||
ctx.source_dir / "configure",
|
||||
"--prefix=" + options.prefix,
|
||||
"--target=" + options.target_triple,
|
||||
"--with-sysroot=" + ctx.sysroot_dir,
|
||||
"--with-pic",
|
||||
"--enable-cet",
|
||||
"--enable-default-execstack=no",
|
||||
"--enable-deterministic-archives",
|
||||
"--enable-ld=default",
|
||||
"--enable-new-dtags",
|
||||
"--enable-plugins",
|
||||
"--enable-relro",
|
||||
"--enable-separate-code",
|
||||
"--enable-threads",
|
||||
"--disable-nls",
|
||||
"--disable-werror",
|
||||
# gprofng's libcollector relies on glibc-specific internals.
|
||||
"--disable-gprofng",
|
||||
env = {
|
||||
"CFLAGS": options.host_cflags,
|
||||
"CXXFLAGS": options.host_cxxflags,
|
||||
"LDFLAGS": options.host_ldflags,
|
||||
})
|
||||
|
||||
_, build, install = autotools()
|
||||
@@ -0,0 +1,47 @@
|
||||
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)})
|
||||
@@ -0,0 +1,54 @@
|
||||
version = "16.1.0"
|
||||
revision = 1
|
||||
description = "GNU GCC cross-compiler targeting the system triple"
|
||||
license = "GPL-3.0-or-later"
|
||||
url = "https://gcc.gnu.org/"
|
||||
source = tarball(
|
||||
url=f"https://ftp.gnu.org/gnu/gcc/gcc-{version}/gcc-{version}.tar.xz",
|
||||
sha256="50efb4d94c3397aff3b0d61a5abd748b4dd31d9d3f2ab7be05b171d36a510f79",
|
||||
)
|
||||
host_deps = ["binutils", "gcc-bootstrap"]
|
||||
deps = [profile["libc"], "linux-headers"]
|
||||
|
||||
|
||||
def configure(self):
|
||||
self.run(
|
||||
self.source_dir / "configure",
|
||||
f"--target={self.triple}",
|
||||
f"--prefix={self.prefix}",
|
||||
f"--with-sysroot={self.sysroot}",
|
||||
f"--with-build-sysroot={self.sysroot}",
|
||||
f"--with-gxx-include-dir={self.sysroot}{self.profile['includedir']}/c++/{version}",
|
||||
"--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": self.profile["host_cflags"],
|
||||
"CXXFLAGS": self.profile["host_cxxflags"],
|
||||
"LDFLAGS": self.profile["host_ldflags"],
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def build(self):
|
||||
self.run("make", f"-j{self.jobs}")
|
||||
|
||||
|
||||
def install(self):
|
||||
self.run("make", "install-strip", env={"DESTDIR": str(self.dest_dir)})
|
||||
# Drop libtool archives.
|
||||
self.run("find", self.dest_dir, "-name", "*.la", "-delete")
|
||||
@@ -0,0 +1,56 @@
|
||||
version = "20.1.0"
|
||||
revision = 1
|
||||
description = "LLVM compiler infrastructure with clang and lld"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
url = "https://llvm.org/"
|
||||
source = tarball(
|
||||
url=f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/llvm-project-{version}.src.tar.xz",
|
||||
sha256="4579051e3c255fb4bb795d54324f5a7f3ef79bd9181e44293d7ee9a7f62aad9a",
|
||||
)
|
||||
host_deps = ["binutils"]
|
||||
|
||||
|
||||
def configure(self):
|
||||
self.run(
|
||||
"cmake",
|
||||
"-S",
|
||||
self.source_dir / "llvm",
|
||||
"-B",
|
||||
self.build_dir,
|
||||
"-G",
|
||||
"Ninja",
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
f"-DCMAKE_INSTALL_PREFIX={self.prefix}",
|
||||
"-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld",
|
||||
"-DLLVM_ENABLE_RUNTIMES=compiler-rt",
|
||||
"-DLLVM_TARGETS_TO_BUILD=X86;AArch64;RISCV",
|
||||
f"-DLLVM_DEFAULT_TARGET_TRIPLE={self.triple}",
|
||||
f"-DLLVM_HOST_TRIPLE={self.triple}",
|
||||
"-DLLVM_ENABLE_LIBXML2=OFF",
|
||||
"-DLLVM_ENABLE_LIBEDIT=OFF",
|
||||
"-DLLVM_ENABLE_TERMINFO=OFF",
|
||||
"-DLLVM_ENABLE_ASSERTIONS=OFF",
|
||||
"-DLLVM_ENABLE_PIC=ON",
|
||||
"-DLLVM_BUILD_LLVM_DYLIB=ON",
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON",
|
||||
"-DLLVM_INSTALL_UTILS=ON",
|
||||
"-DLLVM_INCLUDE_TESTS=OFF",
|
||||
"-DLLVM_INCLUDE_EXAMPLES=OFF",
|
||||
"-DLLVM_INCLUDE_BENCHMARKS=OFF",
|
||||
"-DCLANG_DEFAULT_LINKER=lld",
|
||||
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
|
||||
"-DCLANG_DEFAULT_CXX_STDLIB=libstdc++",
|
||||
env={
|
||||
"CFLAGS": self.profile["host_cflags"],
|
||||
"CXXFLAGS": self.profile["host_cxxflags"],
|
||||
"LDFLAGS": self.profile["host_ldflags"],
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def build(self):
|
||||
self.run("cmake", "--build", self.build_dir, f"-j{self.jobs}")
|
||||
|
||||
|
||||
def install(self):
|
||||
self.run("cmake", "--install", self.build_dir, env={"DESTDIR": str(self.dest_dir)})
|
||||
Reference in New Issue
Block a user