aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-04-28 20:33:44 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-04-28 20:48:22 +0200
commit1059d1570b7078e6a83e067577b42ed24ee25b55 (patch)
treee9a11efe8503330f636a577ba04defe4c71e112e /gnu
parentf3b2d6681c0cbd361dcd5af05f156f15cb2c277b (diff)
downloadguix-1059d1570b7078e6a83e067577b42ed24ee25b55.tar.gz
guix-1059d1570b7078e6a83e067577b42ed24ee25b55.zip
gnu: ustr: Cross-compile.
Also fix <http://issues.guix.gnu.org/48084>. * gnu/packages/text-utils.scm (ustr)[arguments]: Use CC-FOR-TARGET. Add a new 'fix-cross-compilation phase.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/textutils.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index e7968c3185..b04abbd13c 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -315,7 +315,7 @@ input bits thoroughly but are not suitable for cryptography.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
- (list "CC=gcc"
+ (list (string-append "CC=" ,(cc-for-target))
"HIDE="
;; Override "/sbin/ldconfig" with "echo" because we don't need
;; "ldconfig".
@@ -324,6 +324,18 @@ input bits thoroughly but are not suitable for cryptography.")
"all-shared")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-cross-compilation
+ ;; The Makefile contains more insults than cross-compilation support.
+ ;; It poorly reinvents autotools by compiling C programmes with $CC,
+ ;; then tries to run them during the build. Hard-code the results.
+ (lambda _
+ (substitute* "Makefile"
+ (("\\./autoconf_64b")
+ ,(if (target-64bit? (or (%current-target-system)
+ (%current-system)))
+ "echo 1"
+ "echo 0"))
+ (("\\./autoconf_vsnprintf") "echo 1"))))
(add-after 'unpack 'disable-check-for-stdint
(lambda _
;; Of course we have stdint.h, just not in /usr/include