summary refs log tree commit diff
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
parent6c39886a808e5d35bbb8c8311de374222acb2d8b (diff)
downloadguix-a299a8992cb96575db397122f9e2f82cbb96286e.tar.gz
gnu: Add newlib-nano-arm-none-eabi.
* gnu/packages/embedded.scm (newlib-nano-arm-none-eabi): New variable.
-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")))