git.iko.soy/typeable/nixpkgs
on master help sign in
newlib: Add parameter for "nano" variant
commit5ea6bb839e7bd773f6c995ca6018b68cb8ace7aa authorJohn Ericson <John.Ericson@Obsidian.Systems> dateWed 29 Sep 2021, 21:18 (5 years ago) parentd408c22
1 file changed+19−3
pkgs/development/misc/newlib/default.nix+19−3
pkgs/development/misc/newlib/default.nix+19−3
@@ -1,4 +1,9 @@
1−{ stdenv, fetchurl, buildPackages }:
1+{ stdenv, fetchurl, buildPackages
2+, # "newlib-nano" is what the official ARM embedded toolchain calls this build
3+ # configuration that prioritizes low space usage. We include it as a preset
4+ # for embedded projects striving for a similar configuration.
5+ nanoizeNewlib ? false
6+}:
27
38stdenv.mkDerivation rec {
49 pname = "newlib";
@@ -22,10 +27,21 @@ stdenv.mkDerivation rec {
2227
2328 "--disable-newlib-supplied-syscalls"
2429 "--disable-nls"
30+ "--enable-newlib-retargetable-locking"
31+ ] ++ (if !nanoizeNewlib then [
2532 "--enable-newlib-io-long-long"
2633 "--enable-newlib-register-fini"
27− "--enable-newlib-retargetable-locking"
28− ];
34+ ] else [
35+ "--enable-newlib-reent-small"
36+ "--disable-newlib-fvwrite-in-streamio"
37+ "--disable-newlib-fseek-optimization"
38+ "--disable-newlib-wide-orient"
39+ "--enable-newlib-nano-malloc"
40+ "--disable-newlib-unbuf-stream-opt"
41+ "--enable-lite-exit"
42+ "--enable-newlib-global-atexit"
43+ "--enable-newlib-nano-formatted-io"
44+ ]);
2945
3046 dontDisableStatic = true;
3147