GNU bug report logs - #66263
[PATCH 00/23] guix: Add avr as a platform.

Previous Next

Package: guix-patches;

Reported by: Jean-Pierre De Jesus DIAZ <jean <at> foundationdevices.com>

Date: Fri, 29 Sep 2023 09:15:02 UTC

Severity: normal

Tags: moreinfo, patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 66263 <at> debbugs.gnu.org (full text, mbox):

From: Jean-Pierre De Jesus DIAZ <jean <at> foundationdevices.com>
To: 66263 <at> debbugs.gnu.org
Cc: Jean-Pierre De Jesus DIAZ <jean <at> foundationdevices.com>
Subject: [PATCH 14/23] gnu: cross-gcc-arguments: Handle AVR target.
Date: Fri, 29 Sep 2023 11:16:18 +0200
* gnu/packages/cross-base.scm (cross-gcc-arguments): Handle AVR target.
---
 gnu/packages/cross-base.scm | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index fc21e7c4fd..10d912b755 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -204,23 +204,38 @@ (define (cross-gcc-arguments target xgcc libc)
                                 #~("--enable-multilib")
                                 #~())
 
+                         #$@(if (and libc (target-avr? target))
+                                #~("--enable-languages=c,c++"
+                                   (string-append "--with-native-system-header-dir="
+                                                  #$libc "/avr/include" ))
                                 #~()))
 
                    (remove
                      (lambda (flag)
                        (or (and (string-match "--enable-languages.*" flag)
                                 #$libc)
+                           (and (string-match "--with-native-system-header-dir.*"
+                                              flag)
+                                #$libc
+                                #$(target-avr? target))
                            (and (string-match "--disable-multilib" flag)
                                 #$(target-avr? target))))
                      #$flags)))
         ((#:make-flags flags)
-         (if libc
-             #~(let ((libc (assoc-ref %build-inputs "libc")))
+         (cond
+           ((and (target-avr? target) libc)
+            #~(let ((libc (assoc-ref %build-inputs "libc")))
                 ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
                 ;; the -Bxxx for the startfiles.
-                 (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
-                       #$flags))
-             flags))
+                (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/avr/lib")
+                      #$flags)))
+           (libc
+            #~(let ((libc (assoc-ref %build-inputs "libc")))
+                ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
+                ;; the -Bxxx for the startfiles.
+                (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+                      #$flags)))
+           (else flags)))
         ((#:phases phases)
          #~(cross-gcc-build-phases #$target #$phases))))))
 
-- 
2.34.1





This bug report was last modified 1 year and 221 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.