gnu: gcc: Add a RUNPATH to libstdc++.so so that it finds libgcc_s.so. Fixes <http://bugs.gnu.org/20358>. Reported by 宋文武 <iyzsong@gmail.com>. * gnu/packages/gcc.scm (gcc-4.7)[arguments]: Add 'substitute*' form for "libstdc++-v3/src/Makefile.in".
gnu: Remove all #:select from (gnu packages ...) modules. This works around Guile bug <http://bugs.gnu.org/15540>. Reported by Andreas Enge <andreas@enge.fr>. * gnu/packages/engineering.scm: Don't #:select from (gnu packages ...). * gnu/packages/gcc.scm: Likewise. * gnu/packages/package-management.scm: Likewise. * gnu/packages/photo.scm: Likewise. * gnu/packages/pulseaudio.scm: Likewise. * gnu/packages/moe.scm: Likewise, and #:select from (guix licenses) instead.
Merge branch 'core-updates'
gnu: gcc: Do not pass -dynamic-linker to linker when !shared on arm. Fixes <http://bugs.gnu.org/20102>. * gnu/packages/patches/gcc-arm-link-spec-fix.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/gcc.scm (gcc-4.8, gcc-4.9): Add patch. * gnu/packages/cross-base.scm (cross-gcc): Preserve patches from gcc-4.8. Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
gnu: gcc: Disable RUNPATH validation for native builds. * gnu/packages/gcc.scm (gcc-4.7)[arguments]: Pass #:validate-runpath? #f. * gnu/packages/commencement.scm (gcc-boot0)[arguments]: Override #:validate-runpath? with 'substitute-keyword-arguments'. (gcc-final)[arguments]: Likewise. * gnu/packages/cross-base.scm (cross-gcc-arguments): Likewise.
gnu: gcc: Fix libgcc_s directory in RUNPATH for cross-compiled binaries. * gnu/packages/gcc.scm (gcc-4.7): Add 'libdir' procedure. Use it to determine the right libdir, including when cross-compiling. This fixes a bug whereby the RUNPATH of cross-compiled binaries would be set to $crossgcc/lib instead of $crossgcc/$triplet/lib. See <http://hydra.gnu.org/build/354389/nixlog/1/raw> for an example.
Merge branch 'master' into core-updates
gnu: gcj: Use a versioned URL for 'javac.in'. * gnu/packages/gcc.scm (javac.in): Use a ViewVC URL that specifies the CVS revision.
gnu: gcj: Move javac.in from a file in the distribution to an origin. * gnu/packages/javac.in: Delete file. * gnu-system.am (MISC_DISTRO_FILES): Delete. * gnu/packages/gcc.scm (javac.in): New variable. (gcj-4.8): Use it as an input.
gnu: gcc: Add copyright line.
gnu: Add GCJ * gnu/packages/gcc.scm (gcj-4.8, ecj-bootstrap-4.8): New variables. * gnu/packages/javac.in: New file. * gnu-system.am (MISC_DISTRO_FILES): Add it. * Makefile.am (nobase_dist_guilemodule_DATA): Add MISC_DISTRO_FILES.
Merge branch 'core-updates' Conflicts: gnu/packages/bootstrap.scm
gnu: Add toolchain support for 'armhf-linux'. Based on preliminary work by John Darrington <john@darrington.wattle.id.au>. * gnu/packages/cross-base.scm (xgcc-armhf): New variable. * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case. (gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list of files in which to patch GLIBC_DYNAMIC_LINKER. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case. * guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet): Add armhf cases.
gnu: gcc: Use 'gcc-configure-flags-for-triplet' for native compilers too. * gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Do not export it. (gcc-4.7): Pass the result of 'gcc-configure-flags-for-triplet' to configure for all builds, including native ones. * gnu/packages/cross-base.scm (cross-gcc-arguments): Do not add the result of 'gcc-configure-flags-for-triplet' here, since it is now included in the configure-flags inherited from gcc-4.8.
gnu: gcc-static: Remove -lgcc_s from GNU_USER_TARGET_LIB_SPEC. * gnu/packages/make-bootstrap.scm (%gcc-static): Add 'remove-lgcc_s phase. * gnu/packages/gcc.scm (gcc-4.7): Add comment.
Revert "gnu: gcc: Add '-lgcc_s' only when '-pthread' is given." This reverts commit 9097e666d48c9b6c0263dcbe60b5af69ff7689f4. This turned out not to be a good strategy. Some build system, e.g. tcl's, do not pass -pthread on GNU/Linux by default, but merely link with -lpthread. Also, Ludovic found other cases where libgcc_s is dlopened by libc that have nothing to do with pthreads, e.g. to walk the stack.
gnu: gcc: Add '-lgcc_s' only when '-pthread' is given. Suggested by Ludovic Courtès <ludo@gnu.org>. * gnu/packages/gcc.scm (gcc-4.7): In our modified GNU_USER_TARGET_LIB_SPEC, add '-lgcc_s' only when '-pthread' is given.
gnu: gcc: Improve dynamic linker patching code. * gnu/packages/gcc.scm (gcc-4.7): Join multi-line definitions of GLIBC_DYNAMIC_LINKER* before attempting substitutions. (gcc-4.9)[arguments]: Remove arguments override.
Merge branch 'master' into core-updates
gnu: gcc-4.9: Fix build on MIPS. * gnu/packages/gcc.scm (gcc-4.9): Add 'join-two-line-dynamic-linker-defns phase.