lol

newlib: Add parameter for "nano" variant

+19 -3
+19 -3
pkgs/development/misc/newlib/default.nix
··· 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 + }: 2 7 3 8 stdenv.mkDerivation rec { 4 9 pname = "newlib"; ··· 22 27 23 28 "--disable-newlib-supplied-syscalls" 24 29 "--disable-nls" 30 + "--enable-newlib-retargetable-locking" 31 + ] ++ (if !nanoizeNewlib then [ 25 32 "--enable-newlib-io-long-long" 26 33 "--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 + ]); 29 45 30 46 dontDisableStatic = true; 31 47