summaryrefslogtreecommitdiff
path: root/gnu/packages/cross-base.scm
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2019-08-14 13:46:53 -0400
committerJan Nieuwenhuizen <janneke@gnu.org>2019-08-14 21:29:53 +0200
commit67dac6b8920755cb011047157bb7b4fae4760143 (patch)
tree897ea1e967ae6848874d7068f8287e59f5adbef7 /gnu/packages/cross-base.scm
parent4afdb792497472b968d818a3ed942beb70210389 (diff)
downloadpatches-67dac6b8920755cb011047157bb7b4fae4760143.tar
patches-67dac6b8920755cb011047157bb7b4fae4760143.tar.gz
gnu: mingw: Add x86_64 support.
This patch parameterizes previously hard-coded instances of i686-w64-mingw32, adding support for x86_64-w64-mingw32. * gnu/packages/mingw.scm (make-mingw-w64): New procedure. (mingw-w64-i686, mingw-w64-x86_64): New variables. (%mingw-triplet): Remove. (mingw-w64): Update to point to 'mingw-w64-i686'. * gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument if specified, instead of treating it as a boolean. (native-libc): Return the correct mingw-w64 depending on machine specified in target. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw". * gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument. (cross-gcc-build-phases): Update accordingly; use 'target-mingw?' implementation of target checking and add commentary. * gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32".
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r--gnu/packages/cross-base.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index a0341ebc5d..e277139f25 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -249,7 +250,7 @@ target that libc."
(cond
((target-mingw? target)
(if libc
- `(("libc" ,mingw-w64)
+ `(("libc" ,libc)
,@inputs)
`(("mingw-source" ,(package-source mingw-w64))
,@inputs)))
@@ -509,7 +510,8 @@ and the cross tool chain."
#:optional
(libc glibc))
(if (target-mingw? target)
- mingw-w64
+ (let ((machine (substring target 0 (string-index target #\-))))
+ (make-mingw-w64 machine))
libc))
(define* (cross-newlib? target