summary refs log tree commit diff
diff options
context:
space:
mode:
-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))