diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch new file mode 120000 index 00000000000..4a8c831e615 --- /dev/null +++ b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch @@ -0,0 +1 @@ +../../gcc/patches/fix-cxxflags-passing.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch deleted file mode 120000 index 8dd149359e2..00000000000 --- a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/gcc-spec-env-r1.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template index bb4e0f25fb1..f3b85512cdb 100644 --- a/srcpkgs/cross-i686-pc-linux-gnu/template +++ b/srcpkgs/cross-i686-pc-linux-gnu/template @@ -1,31 +1,31 @@ # Template build file for 'cross-i686-pc-linux-gnu' # _binutils_version=2.27 -_gcc_version=4.9.4 +_gcc_version=6.2.1 _glibc_version=2.24 -_linux_version=3.18.25 +_linux_version=4.1.34 _triplet=i686-pc-linux-gnu _archflags="-march=i686 -mtune=generic" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.21 -revision=4 +version=0.22 +revision=1 short_desc="GNU Cross toolchain for the ${_triplet} target (binutils/gcc/glibc)" maintainer="Juan RP " homepage="http://www.voidlinux.eu" license="GPL-3, GPL-2, LGPL-2.1" distfiles=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + https://repo.voidlinux.eu/distfiles/gcc-$_gcc_version.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz - ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz" + ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 - 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 + a7addd2d4e42e66c3b56ced8baee5a11ef7fb577e23615a4f43877273eaf9409 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 - c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" + 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" only_for_archs="armv6l armv7l x86_64" nocross=yes @@ -34,7 +34,7 @@ nodebug=yes lib32disabled=yes create_wrksrc=yes hostmakedepends="perl flex" -makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel" +makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" depends="${pkgname}-libc-${version}_${revision}" nostrip_files="libgcc.a libgcov.a libgcc_eh.a" @@ -69,11 +69,12 @@ _binutils_build() { } _gcc_bootstrap() { + local _args [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch - _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch + _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -82,16 +83,29 @@ _gcc_bootstrap() { # Fix https://build.voidlinux.eu/builders/x86_64_builder/builds/24895/steps/shell_3/logs/stdio export gcc_cv_libc_provides_ssp=yes + _args="--prefix=/usr" + _args+=" --target=${_triplet}" + _args+=" --without-headers" + _args+=" --disable-nls" + _args+=" --disable-shared" + _args+=" --disable-libquadmath" + _args+=" --disable-decimal-float" + _args+=" --disable-libgomp" + _args+=" --disable-libmpx" + _args+=" --disable-libmudflap" + _args+=" --disable-libssp" + _args+=" --disable-libitm" + _args+=" --disable-libatomic" + _args+=" --disable-threads" + _args+=" --enable-languages=c" + _args+=" --disable-sjlj-exceptions" + _args+=" --disable-multilib" + _args+=" --with-gnu-ld" + _args+=" --with-gnu-as" + _args+=" ${_fpuflags}" CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ - ../gcc-${_gcc_version}/configure --prefix=/usr \ - --target=${_triplet} --without-headers \ - --disable-nls --disable-shared --disable-libquadmath \ - --disable-decimal-float --disable-libgomp --disable-libmudflap \ - --disable-libssp --disable-libitm --disable-libatomic \ - --disable-threads --enable-languages=c \ - --disable-sjlj-exceptions --disable-multilib \ - --with-gnu-ld --with-gnu-as ${_fpuflags} + ../gcc-${_gcc_version}/configure ${_args} make ${makejobs} make install @@ -114,6 +128,7 @@ _linux_headers() { } _glibc_headers() { + local _args [ -f ${wrksrc}/.glibc_headers_done ] && return 0 cd ${wrksrc} @@ -129,11 +144,15 @@ _glibc_headers() { export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ AS="${_triplet}-as" CPP="${_triplet}-cpp" - ../glibc-${_glibc_version}/configure \ - --host=${_triplet} --prefix=/usr \ - --with-headers=${_sysroot}/usr/include \ - --config-cache --enable-obsolete-rpc \ - --enable-kernel=2.6.27 ${_fpuflags} + _args="--target=${_triplet}" + _args+=" --prefix=/usr" + _args+=" --with-headers=${_sysroot}/usr/include" + _args+=" --config-cache" + _args+=" --enable-obsolete-rpc" + _args+=" --enable-kernel=2.6.27" + _args+=" ${_fpuflags}" + + ../glibc-${_glibc_version}/configure ${_args} make -k install-headers cross_compiling=yes \ install_root=${_sysroot} @@ -142,6 +161,7 @@ _glibc_headers() { } _glibc_build() { + local _args [ -f ${wrksrc}/.glibc_build_done ] && return 0 cd ${wrksrc} @@ -156,13 +176,16 @@ _glibc_build() { export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ AS="${_triplet}-as" CPP="${_triplet}-cpp" - export CFLAGS="-Os -pipe -Wno-error ${_archflags}" + export CFLAGS="-O2 -pipe -Wno-error ${_archflags}" + _args="--host=${_triplet}" + _args+=" --prefix=/usr" + _args+=" --with-headers=${_sysroot}/usr/include" + _args+=" --config-cache" + _args+=" --enable-obsolete-rpc" + _args+=" --enable-kernel=2.6.27" + _args+=" ${_fpuflags}" - ../glibc-${_glibc_version}/configure \ - --host=${_triplet} --prefix=/usr \ - --with-headers=${_sysroot}/usr/include \ - --config-cache --enable-obsolete-rpc \ - --enable-kernel=2.6.27 ${_fpuflags} + ../glibc-${_glibc_version}/configure ${_args} make ${makejobs} make install_root=${_sysroot} install @@ -171,6 +194,8 @@ _glibc_build() { } _gcc_build() { + local _args + [ -f ${wrksrc}/.gcc_build_done ] && return 0 cd ${wrksrc} @@ -180,7 +205,6 @@ _gcc_build() { cd gcc-build unset LD AS CPP - export CC="gcc" CFLAGS="-Os -pipe" # Make this link to target libs. if [ ! -f .sed_subst_done ]; then @@ -188,20 +212,40 @@ _gcc_build() { -i ${_sysroot}/lib/libc.so ${_sysroot}/lib/libpthread.so touch .sed_subst_done fi + _args="--target=${_triplet}" + _args+=" --target=${_triplet}" + _args+=" --prefix=/usr" + _args+=" --libdir=/usr/lib" + _args+=" --with-sysroot=${_sysroot}" + _args+=" --enable-languages=c,c++,lto" + _args+=" --with-gnu-as" + _args+=" --with-gnu-ld" + _args+=" --disable-multilib" + _args+=" --disable-nls" + _args+=" --disable-sjlj-exceptions" + _args+=" --enable-threads=posix" + _args+=" --enable-long-longx" + _args+=" --enable-shared" + _args+=" --enable-linker-build-id" + _args+=" --enable-gnu-unique-object" + _args+=" --enable-lto" + _args+=" --enable-gnu-indirect-function" + _args+=" --disable-libquadmath" + _args+=" --disable-libatomic" + _args+=" --disable-libssp" + _args+=" --disable-libmpx" + _args+=" --disable-libmudflap" + _args+=" --disable-libsanitizer" + _args+=" --disable-libcilkrts" + _args+=" --disable-libitm" + _args+=" --disable-libvtv" + _args+=" --disable-libstdcxx-pch" + _args+=" --enable-libstdcxx-time" + _args+=" --with-linker-hash-style=gnu" + _args+=" ${_fpuflags}" - ../gcc-${_gcc_version}/configure \ - --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ - --with-sysroot=${_sysroot} --enable-languages=c,c++,lto \ - --with-gnu-as --with-gnu-ld --disable-multilib \ - --disable-nls --disable-sjlj-exceptions \ - --enable-threads=posix --enable-long-longx \ - --enable-shared --enable-linker-build-id \ - --enable-gnu-unique-object --enable-lto \ - --disable-libquadmath --disable-libatomic \ - --disable-libssp --disable-libmudflap \ - --disable-libsanitizer --disable-libcilkrts \ - --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ - --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags} + CC="gcc" CFLAGS="-O2 -pipe" \ + ../gcc-${_gcc_version}/configure ${_args} make ${makejobs}