summary refs log tree commit diff
path: root/build-aux/hydra
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-12-07 10:21:00 +0100
committerLudovic Courtès <ludo@gnu.org>2016-12-07 10:23:18 +0100
commitdea91108cf6b9bb46071c8f65c9abf834c5b064d (patch)
tree7223f77ba970c125a3efe15843e9b05cca9f1def /build-aux/hydra
parent88da729ff78676c61a225956af92d2c8e95b7643 (diff)
downloadguix-dea91108cf6b9bb46071c8f65c9abf834c5b064d.tar.gz
hydra: Add "i686-w64-mingw32" as a cross-compilation target.
* build-aux/hydra/gnu-system.scm (%cross-targets): Add "i686-w64-mingw32".
(hydra-jobs)[cross-jobs?](pointless?): New procedure.
Use it.
Diffstat (limited to 'build-aux/hydra')
-rw-r--r--build-aux/hydra/gnu-system.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 26c7b3ca45..2fe42a3794 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -123,7 +123,8 @@ SYSTEM."
 (define %cross-targets
   '("mips64el-linux-gnu"
     "mips64el-linux-gnuabi64"
-    "arm-linux-gnueabihf"))
+    "arm-linux-gnueabihf"
+    "i686-w64-mingw32"))
 
 (define (demo-os)
   "Return the \"demo\" 'operating-system' structure."
@@ -278,6 +279,11 @@ valid."
       ;; 'mips64el-linux'.
       (string-contains target system))
 
+    (define (pointless? target)
+      ;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
+      (and (string-contains target "mingw")
+           (not (string=? "x86_64-linux" system))))
+
     (define (either proc1 proc2)
       (lambda (x)
         (or (proc1 x) (proc2 x))))
@@ -287,7 +293,8 @@ valid."
                          (package-cross-job store (job-name package)
                                             package target system))
                        %packages-to-cross-build))
-                (remove (either from-32-to-64? same?) %cross-targets)))
+                (remove (either from-32-to-64? same? pointless?)
+                        %cross-targets)))
 
   ;; Turn off grafts.  Grafting is meant to happen on the user's machines.
   (parameterize ((%graft? #f))