diff options
author | Cem Keylan <cem@ckyln.com> | 2020-12-25 02:37:30 +0300 |
---|---|---|
committer | Cem Keylan <cem@ckyln.com> | 2020-12-25 02:37:30 +0300 |
commit | f3528ed91601cc994aa7118758790063b3b62f1b (patch) | |
tree | 11e09a698cc4503d49fc3e9c0689856d6f515c3c | |
parent | f8578219687f65e2e7be362ac3e3ad2692816b45 (diff) | |
download | repository-f3528ed91601cc994aa7118758790063b3b62f1b.tar.gz |
libgccjit: add new package at 10.2.0 [TESTING]
-rwxr-xr-x | testing/libgccjit/build | 72 | ||||
-rw-r--r-- | testing/libgccjit/checksums | 2 | ||||
-rw-r--r-- | testing/libgccjit/depends | 7 | ||||
-rw-r--r-- | testing/libgccjit/patches/gccjit-musl-fix.patch | 63 | ||||
-rw-r--r-- | testing/libgccjit/sources | 2 | ||||
-rw-r--r-- | testing/libgccjit/version | 1 |
6 files changed, 147 insertions, 0 deletions
diff --git a/testing/libgccjit/build b/testing/libgccjit/build new file mode 100755 index 00000000..3d2dc7c1 --- /dev/null +++ b/testing/libgccjit/build @@ -0,0 +1,72 @@ +#!/bin/sh -e + +# TODO Cleanup non-libgccjit items. + +sys_arch=${3:-$(uname -m)} + +sed_i() { + for file; do :; done + sed "$@" > _ + cat _ > "$file"; rm -f _ +} + +if [ "${sys_arch#i*86}" ]; then + # Do not create lib64 directories + sed_i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64 + sed_i 's/lib64/lib/' gcc/gcc/config/i386/linux64.h +fi + +# FIXME: there is an offset on the diff, causing 'busybox patch' to fail. +(cd gcc; patch -p1 < ../gccjit-musl-fix.patch) + +case "$sys_arch" in + i*86) archopts="--build=i686-pc-linux-musl" ;; + x86_64) archopts="--build=x86_64-pc-linux-musl" +esac + +# Build must happen outside of gcc source. +mkdir -p gcc-build +cd gcc-build + +export libat_cv_have_ifunc=no + +../gcc/configure \ + --prefix=/usr \ + "$archopts" \ + --disable-bootstrap \ + --disable-fixed-point \ + --disable-libada \ + --disable-libquadmath \ + --disable-libsanitizer \ + --disable-libssp \ + --disable-libvtv \ + --disable-lto \ + --disable-multilib \ + --disable-nls \ + --disable-symvers \ + --disable-werror \ + --enable-__cxa_atexit \ + --enable-checking=release \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-host-shared \ + --enable-languages=jit \ + --enable-shared \ + --enable-threads \ + --enable-tls \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --with-system-zlib \ + --without-included-gettext + +make +make DESTDIR="$1" -C gcc install + +# Remove unnecessary gcc files. +rm -rf "$1/usr/bin" \ + "$1/usr/lib/gcc" \ + "$1/usr/libexec" \ + "$1/usr/share/man" + +# Remove info pages other than libgccjit +find "$1/usr/share/info" -type f ! -name libgccjit.info -exec rm -f {} + diff --git a/testing/libgccjit/checksums b/testing/libgccjit/checksums new file mode 100644 index 00000000..79088732 --- /dev/null +++ b/testing/libgccjit/checksums @@ -0,0 +1,2 @@ +b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c gcc-10.2.0.tar.xz +0485655dbccf9034ba1d2cf5fb2e7bdbfe10aee32906c9488c0ec3da69dbb44f gccjit-musl-fix.patch diff --git a/testing/libgccjit/depends b/testing/libgccjit/depends new file mode 100644 index 00000000..7674b4f1 --- /dev/null +++ b/testing/libgccjit/depends @@ -0,0 +1,7 @@ +binutils +byacc make +flex make +gmp +libmpc +mpfr +zlib diff --git a/testing/libgccjit/patches/gccjit-musl-fix.patch b/testing/libgccjit/patches/gccjit-musl-fix.patch new file mode 100644 index 00000000..d2ed1692 --- /dev/null +++ b/testing/libgccjit/patches/gccjit-musl-fix.patch @@ -0,0 +1,63 @@ +diff --git a/gcc/jit/jit-playback.c b/gcc/jit/jit-playback.c +index 5bccf591a..35f5e35ef 100644 +--- a/gcc/jit/jit-playback.c ++++ b/gcc/jit/jit-playback.c +@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + ++#include <pthread.h> ++ + #include "config.h" + #include "system.h" + #include "coretypes.h" +@@ -41,8 +43,6 @@ along with GCC; see the file COPYING3. If not see + #include "diagnostic.h" + #include "stmt.h" + +-#include <pthread.h> +- + #include "jit-playback.h" + #include "jit-result.h" + #include "jit-builtins.h" +diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c +index a237d574f..5785e3269 100644 +--- a/gcc/jit/jit-recording.c ++++ b/gcc/jit/jit-recording.c +@@ -18,6 +18,8 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + ++#include <pthread.h> ++ + #include "config.h" + #include "system.h" + #include "coretypes.h" +@@ -25,8 +27,6 @@ along with GCC; see the file COPYING3. If not see + #include "pretty-print.h" + #include "toplev.h" + +-#include <pthread.h> +- + #include "jit-builtins.h" + #include "jit-recording.h" + #include "jit-playback.h" +diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c +index f9c33c63c..75f21d275 100644 +--- a/gcc/jit/libgccjit.c ++++ b/gcc/jit/libgccjit.c +@@ -18,13 +18,13 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + ++#include <pthread.h> + #include "config.h" + #include "system.h" + #include "coretypes.h" + #include "timevar.h" + #include "typed-splay-tree.h" + #include "cppbuiltin.h" +-#include <pthread.h> + + #include "libgccjit.h" + #include "jit-recording.h" diff --git a/testing/libgccjit/sources b/testing/libgccjit/sources new file mode 100644 index 00000000..d39c5e72 --- /dev/null +++ b/testing/libgccjit/sources @@ -0,0 +1,2 @@ +https://gcc.gnu.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.xz gcc +patches/gccjit-musl-fix.patch diff --git a/testing/libgccjit/version b/testing/libgccjit/version new file mode 100644 index 00000000..1564eb7c --- /dev/null +++ b/testing/libgccjit/version @@ -0,0 +1 @@ +10.2.0 1 |