diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 821515f3ed87979ad76977f6e51e21ffe062c3fe..86134811d3b63fff367408c006d781736cbdee0a 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -133,24 +133,30 @@ (define-public gcc-4.7 #:strip-binaries? ,stripped? #:configure-flags ,(configure-flags) #:make-flags - (let* ((libc (assoc-ref %build-inputs "libc")) - (libc-native (or (assoc-ref %build-inputs "libc-native") - libc))) - `(,@(if libc - (list (string-append "LDFLAGS_FOR_TARGET=" - "-B" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker))) - '()) - - ;; Native programs like 'genhooks' also need that right. - ,(string-append "LDFLAGS=" - "-Wl,-rpath=" libc-native "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc-native ,(glibc-dynamic-linker)) - ,(string-append "BOOT_CFLAGS=-O2 " - ,(if stripped? "-g0" "-g")))) + ;; None of the flags below are needed when doing a Canadian cross. + ;; TODO: Simplify this. + ,(if (%current-target-system) + (if stripped? + ''("CFLAGS=-g0 -O2") + ''()) + `(let* ((libc (assoc-ref %build-inputs "libc")) + (libc-native (or (assoc-ref %build-inputs "libc-native") + libc))) + `(,@(if libc + (list (string-append "LDFLAGS_FOR_TARGET=" + "-B" libc "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc + ,(glibc-dynamic-linker))) + '()) + + ;; Native programs like 'genhooks' also need that right. + ,(string-append "LDFLAGS=" + "-Wl,-rpath=" libc-native "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc-native ,(glibc-dynamic-linker)) + ,(string-append "BOOT_CFLAGS=-O2 " + ,(if stripped? "-g0" "-g"))))) #:tests? #f #:phases