[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/23: gnu: cross-libc: Add AVR Libc support.
From: |
guix-commits |
Subject: |
09/23: gnu: cross-libc: Add AVR Libc support. |
Date: |
Mon, 11 Dec 2023 06:57:41 -0500 (EST) |
efraim pushed a commit to branch master
in repository guix.
commit dfc1701724186acf6fcfa9fc26ffa1e67b74c988
Author: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com>
AuthorDate: Tue Nov 28 12:34:52 2023 +0100
gnu: cross-libc: Add AVR Libc support.
* gnu/packages/avr.scm (make-avr-libc/implementation)[arguments]: Add
avr target parameter and disable implicit cross inputs.
[native-inputs]: Rename avr-gcc and avr-binutils to cross-gcc
and cross-binutils to keep consistency with gnu-build-system.
* gnu/packages/cross-base.scm (cross-libc): Add case for avr.
Change-Id: I6b087946d1287a82fac61c48c513e7f2d2184794
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
gnu/packages/avr.scm | 21 ++++++++++++++-------
gnu/packages/cross-base.scm | 4 ++++
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index e3671399c1..6042c1bd55 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -33,7 +33,8 @@
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gcc)
- #:export (make-avr-toolchain))
+ #:export (make-avr-libc
+ make-avr-toolchain))
;;; Commentary:
;;;
@@ -101,7 +102,10 @@ changed to ~a~%"
(define make-avr-gcc
(memoize make-avr-gcc/implementation))
-(define* (make-avr-libc/implementation #:key (xgcc gcc))
+(define* (make-avr-libc/implementation #:key
+ (xbinutils (cross-binutils "avr"))
+ (xgcc (cross-gcc "avr"
+ #:xbinutils
xbinutils)))
(package
(name "avr-libc")
(version "2.0.0")
@@ -114,10 +118,13 @@ changed to ~a~%"
"15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
(build-system gnu-build-system)
(arguments
- '(#:out-of-source? #t
- #:configure-flags '("--host=avr")))
- (native-inputs `(("avr-binutils" ,(make-avr-binutils))
- ("avr-gcc" ,(make-avr-gcc #:xgcc xgcc))))
+ '(#:target "avr"
+ #:out-of-source? #t
+ ;; Avoid including itself as this package is a target input and cannot
+ ;; use the normal cross compilation inputs.
+ #:implicit-cross-inputs? #f))
+ (native-inputs `(("cross-binutils" ,xbinutils)
+ ("cross-gcc" ,xgcc)))
(home-page "https://www.nongnu.org/avr-libc/")
(synopsis "AVR C Library")
(description
@@ -131,7 +138,7 @@ for use with GCC on Atmel AVR microcontrollers.")
(define* (make-avr-toolchain/implementation #:key (xgcc gcc))
(let ((avr-binutils (make-avr-binutils))
- (avr-libc (make-avr-libc #:xgcc xgcc))
+ (avr-libc (make-avr-libc #:xgcc (cross-gcc "avr" #:xgcc xgcc)))
(avr-gcc (make-avr-gcc #:xgcc xgcc)))
;; avr-libc checks the compiler version and passes "--enable-device-lib"
;; for avr-gcc > 5.1.0. It wouldn't install the library for atmega32u4
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0561fd2df8..264c8c7e15 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -28,6 +28,7 @@
(define-module (gnu packages cross-base)
#:use-module (gnu packages)
+ #:use-module (gnu packages avr)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages linux)
@@ -699,6 +700,9 @@ returned."
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))
+ ((? target-avr?)
+ (make-avr-libc #:xbinutils xbinutils
+ #:xgcc xgcc))
(else #f)))
- branch master updated (8e61e63515 -> 911c3deb40), guix-commits, 2023/12/11
- 01/23: gnu: cross-libc: Return #f if no libc available., guix-commits, 2023/12/11
- 02/23: guix: gnu-build-system: Handle missing libc., guix-commits, 2023/12/11
- 06/23: gnu: make-avr-libc: Fix synopsis., guix-commits, 2023/12/11
- 10/23: gnu: cross-gcc: Handle AVR inputs., guix-commits, 2023/12/11
- 09/23: gnu: cross-libc: Add AVR Libc support.,
guix-commits <=
- 12/23: gnu: cross-gcc: Find AVR Libc files., guix-commits, 2023/12/11
- 11/23: gnu: cross-toolchain: Add set-cross-path for AVR., guix-commits, 2023/12/11
- 13/23: gnu: cross-gcc: Only C and C++ for AVR., guix-commits, 2023/12/11
- 17/23: gnu: Add gcc-cross-avr-toolchain., guix-commits, 2023/12/11
- 20/23: gnu: lufa: Use AVR target., guix-commits, 2023/12/11
- 04/23: guix: Add target-avr?., guix-commits, 2023/12/11
- 07/23: gnu: cross-gcc: Enable multilib for AVR., guix-commits, 2023/12/11
- 03/23: guix: Add avr platform., guix-commits, 2023/12/11
- 08/23: gnu: cross-gcc: Handle target include paths., guix-commits, 2023/12/11
- 15/23: guix: meson-build-system: Disable PIC for AVR., guix-commits, 2023/12/11