summaryrefslogtreecommitdiff
path: root/gnu/packages/embedded.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2016-09-17 19:13:45 +0200
committerRicardo Wurmus <rekado@elephly.net>2016-10-09 15:45:59 +0200
commita299a8992cb96575db397122f9e2f82cbb96286e (patch)
treeaf1d1d1a7d8c93acd16f52c0ac91416dde6def86 /gnu/packages/embedded.scm
parent6c39886a808e5d35bbb8c8311de374222acb2d8b (diff)
gnu: Add newlib-nano-arm-none-eabi.
* gnu/packages/embedded.scm (newlib-nano-arm-none-eabi): New variable.
Diffstat (limited to 'gnu/packages/embedded.scm')
-rw-r--r--gnu/packages/embedded.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index cb4ccdf25a..24eeef9fa7 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -139,3 +139,27 @@ systems. It is a conglomeration of several library parts that are easily
usable on embedded products.")
(license (license:non-copyleft
"https://www.sourceware.org/newlib/COPYING.NEWLIB"))))
+
+(define-public newlib-nano-arm-none-eabi
+ (package (inherit newlib-arm-none-eabi)
+ (name "newlib-nano")
+ (arguments
+ (substitute-keyword-arguments (package-arguments newlib-arm-none-eabi)
+ ;; The configure flags are identical to the flags used by the "GCC ARM
+ ;; embedded" project. They optimize newlib for use on small embedded
+ ;; systems with limited memory.
+ ((#:configure-flags flags)
+ ''("--target=arm-none-eabi"
+ "--enable-multilib"
+ "--disable-newlib-supplied-syscalls"
+ "--enable-newlib-reent-small"
+ "--disable-newlib-fvwrite-in-streamio"
+ "--disable-newlib-fseek-optimization"
+ "--disable-newlib-wide-orient"
+ "--enable-newlib-nano-malloc"
+ "--disable-newlib-unbuf-stream-opt"
+ "--enable-lite-exit"
+ "--enable-newlib-global-atexit"
+ "--enable-newlib-nano-formatted-io"
+ "--disable-nls"))))
+ (synopsis "Newlib variant for small systems with limited memory")))