gnu: Add libstdc++-arm-none-eabi.

* gnu/packages/embedded.scm (make-libstdc++-arm-none-eabi): New procedure.
This commit is contained in:
Ricardo Wurmus 2017-05-22 16:13:17 +02:00
parent 6a34e2ae28
commit 1a1e83366d
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 24 additions and 0 deletions

View File

@ -197,6 +197,30 @@ usable on embedded products.")
"--disable-nls")))) "--disable-nls"))))
(synopsis "Newlib variant for small systems with limited memory"))) (synopsis "Newlib variant for small systems with limited memory")))
(define (make-libstdc++-arm-none-eabi xgcc newlib)
(let ((libstdc++ (make-libstdc++ xgcc)))
(package (inherit libstdc++)
(name "libstdc++-arm-none-eabi")
(arguments
(substitute-keyword-arguments (package-arguments libstdc++)
((#:configure-flags flags)
``("--target=arm-none-eabi"
"--host=arm-none-eabi"
"--disable-libstdcxx-pch"
"--enable-multilib"
"--with-multilib-list=armv6-m,armv7-m,armv7e-m"
"--disable-shared"
"--disable-tls"
"--disable-plugin"
"--with-newlib"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
"/arm-none-eabi/include")))))
(native-inputs
`(("newlib" ,newlib)
("xgcc" ,xgcc)
,@(package-native-inputs libstdc++))))))
(define (arm-none-eabi-toolchain xgcc newlib) (define (arm-none-eabi-toolchain xgcc newlib)
"Produce a cross-compiler toolchain package with the compiler XGCC and the C "Produce a cross-compiler toolchain package with the compiler XGCC and the C
library variant NEWLIB." library variant NEWLIB."