summaryrefslogtreecommitdiff
path: root/gnu/packages/image.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/image.scm')
-rw-r--r--gnu/packages/image.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index ebb30742a4..ecd1867af6 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1507,7 +1507,22 @@ is hereby granted."))))
`(("nasm" ,nasm)))
(arguments
`(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib"
- "-DENABLE_STATIC=0")
+ "-DENABLE_STATIC=0"
+ ;; The build system probes for the current CPU, but
+ ;; that fails when cross-compiling.
+ ,@(let ((target (%current-target-system)))
+ (if target
+ (cond
+ ((string-prefix? "arm" target)
+ `("-DCMAKE_SYSTEM_PROCESSOR=arm"))
+ ((string-prefix? "aarch64" target)
+ `("-DCMAKE_SYSTEM_PROCESSOR=aarch64"))
+ ((string-prefix? "i686" target)
+ `("-DCMAKE_SYSTEM_PROCESSOR=x86"))
+ ((string-prefix? "x86_64" target)
+ `("-DCMAKE_SYSTEM_PROCESSOR=x86_64"))
+ (else '()))
+ '())))
,@(if (%current-target-system)
'()
;; Use a special "bootstrap" CMake for the native build to work