gnu: Add gcc-cross-i686-w64-mingw32-toolchain. * gnu/packages/cross-toolchain.scm (gcc-cross-i686-w64-mingw32-toolchain): New variable. Change-Id: I5d6056fc4943acae03aeaafa587f40ced182b1d4 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: lufa: Use AVR target. * gnu/packages/avr-xyz.scm (lufa)[arguments]: Add avr as target. [native-inputs]: Remove make-avr-toolchain. Change-Id: I792132a9211b1aa64283f9b4e76a4dd57e86646d Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: make-qmk-firmware: Use AVR target. * gnu/packages/firmware.scm (qmk)[inputs]: Remove AVR toolchain. [arguments]: Adjust phase wrapping output. (make-qmk-firmware/implementation)[arguments]: Add avr as target. Change-Id: Ibe09f6ef3c555052faf2c5c243303d85675866be Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: make-ergodox-firmware: Use AVR target. * gnu/packages/firmware.scm (make-ergodox-firmware/implementation): [arguments]: Add avr as target. [native-inputs]: Remove make-avr-toolchain. Change-Id: I4345a55d5dbd436d524de4886969b3332c6288a9 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: Add gcc-cross-avr-toolchain. * gnu/local.mk (GNU_SYSTEM_MODULES): Add cross-toolchain.scm. * gnu/packages/cross-toolchain.scm (gcc-cross-avr-toolchain): New variable. Change-Id: Ie768d5cc0663dd57753af1d4ac631b3cafbf9e8c Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: Add cross-gcc-toolchain procedure. * gnu/packages/cross-base.scm (cross-gcc-toolchain/implementation, cross-gcc-toolchain): New procedures. Change-Id: I994067eac094d0a50a7399e61bda944eded9187f Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
guix: meson-build-system: Disable PIC for AVR. * guix/build-system/meson.scm (make-built-in-options-alist): New procedure. (make-cross-file): Add 'built-in options' section to cross file. Change-Id: Ifff7f6fb1eb8b0e8ddd04881d22acb863c9e85b2 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
guix: meson-build-system: Support AVR. * guix/build-system/meson.scm (make-machine-alist): Add cases for avr for system, cpu_family and cpu. Change-Id: Ie47d666099c4c48edd36812f035625dccc4a3900 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-gcc: Only C and C++ for AVR. * gnu/packages/cross-base.scm (cross-gcc-arguments) <configure-flags> [target-avr?]: Add --enable-languages=c,c++. Change-Id: I1d63bb1b0a3074b9ff8650c5afb93777183c0ea4 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-gcc: Find AVR Libc files. * gnu/packages/cross-base.scm (cross-gcc-arguments) <configure-flags>: Add --with-native-system-header-dir for AVR. <make-flags>: Add target prefix to /lib to find AVR library. Change-Id: Ie9cae338da241fe987f53463aa3774a890e2af9a Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-toolchain: Add set-cross-path for AVR. * gnu/build/cross-toolchain.scm (set-cross-path/avr): New procedure. (cross-gcc-build-phases) [string-prefix? "avr"]: Return set-cross-path/avr procedure. Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech> Change-Id: I00bd39236ac2e31fef02164a7fffc8b56a166f0d Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-gcc: Handle AVR inputs. * gnu/packages/cross-base.scm (cross-gcc)[native-inputs]: Add case to handle AVR. Change-Id: I1ac38b721ed807302747cecb5fb1f6075694a01a Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-libc: Add AVR Libc support. * gnu/packages/avr.scm (make-avr-libc/implementation)[arguments]: Add avr target parameter and disable implicit cross inputs. [native-inputs]: Rename avr-gcc and avr-binutils to cross-gcc and cross-binutils to keep consistency with gnu-build-system. * gnu/packages/cross-base.scm (cross-libc): Add case for avr. Change-Id: I6b087946d1287a82fac61c48c513e7f2d2184794 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-gcc: Handle target include paths. * gnu/packages/cross-base.scm (cross-gcc-search-paths): New procedure. (cross-gcc)[search-paths]: Convert to and use cross-gcc-search-paths procedure. Change-Id: Id306782eaf928d05cd005b9539087ed631506b5b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: cross-gcc: Enable multilib for AVR. * gnu/build/cross-toolchain.scm (patch-multilib-shebang): New procedure. * gnu/packages/avr.scm (make-avr-gcc): Remove uneeded phases and flags for multilib. * gnu/packages/cross-base (cross-gcc-arguments) <#:configure-flags> [target-avr?]: Remove --disable-multilib and add --enable-multilib. Change-Id: Id68d803057ac898f0a670f10487b08bf0891ab0b Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: make-avr-libc: Fix synopsis. * gnu/packages/avr.scm (make-avr-libc/implementation): Drop 'The' from synopsis. Change-Id: Idb6c008d709a988075789a6220af63f4917c2179 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: microscheme: Move to avr-xyz. * gnu/packages/avr.scm (microscheme): Move to ... * gnu/packages/avr-xyz.scm (microscheme): ... here. Change-Id: I1272bfc98b583ab0ab36fcba5a8e19ae018b0b80 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
guix: Add target-avr?. * guix/utils.scm (target-avr?): New procedure. * tests/utils.scm: Add tests for target-avr? procedure. Change-Id: Iaa0fa97a2b6bc45d45f907f43157f1548a0ba3fa Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
guix: Add avr platform. * Makefile.am (MODULES): Add avr platform module. * doc/guix.texi: Add documentation for avr platform. * guix/platforms/avr.scm (avr): New variable. Change-Id: I0f425eac61a71390b618e093f5a034ad4205a6f4 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
guix: gnu-build-system: Handle missing libc. * guix/build-system/gnu.scm (standard-cross-packages): Handle the case when `cross-libc` returns #f. Change-Id: I85ee5456f10ff141d521a5f2d91267cd612c5616 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>