From f3418f58dc6fc2698183a46dacdf01fe16d685f0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 26 Jan 2020 12:57:56 +0100 Subject: gnu: libjpeg-turbo: Fix cross-compilation. * gnu/packages/image.scm (libjpeg-turbo)[arguments]: In #:configure-flags, add "-DCMAKE_SYSTEM_PROCESSOR" for known architectures when cross-compiling. --- gnu/packages/image.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gnu') 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 @@ (define-public libjpeg-turbo `(("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 -- cgit v1.2.3