mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: ipxe-qemu: Cross-compile on non x86_64.
* gnu/packages/bootloaders.scm (ipxe-qemu)[native-inputs]: When not targeting x86_64, add CROSS-GCC and CROSS-BINUTILS. [arguments]: Set CROSS_COMPILE in that case.
This commit is contained in:
parent
ffc0037458
commit
a5dbe84a61
1 changed files with 14 additions and 5 deletions
|
@ -1535,8 +1535,14 @@ (define-public ipxe-qemu
|
|||
(package/inherit ipxe
|
||||
(name "ipxe-qemu")
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs ipxe)
|
||||
(prepend edk2-tools)))
|
||||
;; QEMU uses a 64-bit UEFI firmware.
|
||||
(if (target-x86-64?)
|
||||
(modify-inputs (package-native-inputs ipxe)
|
||||
(prepend edk2-tools))
|
||||
(modify-inputs (package-native-inputs ipxe)
|
||||
(prepend edk2-tools
|
||||
(cross-gcc "x86_64-linux-gnu")
|
||||
(cross-binutils "x86_64-linux-gnu")))))
|
||||
(arguments
|
||||
(let ((roms
|
||||
;; Alist of ROM -> (VID . DID) entries. This list and below
|
||||
|
@ -1554,14 +1560,17 @@ (define-public ipxe-qemu
|
|||
`((ice-9 match) ,@modules))
|
||||
((#:make-flags flags)
|
||||
#~(append (delete "everything" #$flags)
|
||||
'("CONFIG=qemu")
|
||||
'("CONFIG=qemu"
|
||||
#$@(if (target-x86-64?)
|
||||
'()
|
||||
'("CROSS_COMPILE=x86_64-linux-gnu-")))
|
||||
(map (match-lambda
|
||||
((_ . (vid . did))
|
||||
(string-append "bin/" vid did ".rom")))
|
||||
'#$roms)
|
||||
(map (match-lambda
|
||||
((_ . (vid . did))
|
||||
(string-append "bin-efi/"
|
||||
(string-append "bin-x86_64-efi/"
|
||||
vid did ".efidrv")))
|
||||
'#$roms)))
|
||||
((#:phases phases)
|
||||
|
@ -1582,7 +1591,7 @@ (define-public ipxe-qemu
|
|||
"-l" "0x02"
|
||||
"-f" (string-append "0x" vid)
|
||||
"-i" (string-append "0x" did)
|
||||
"-ec" (string-append "bin-efi/"
|
||||
"-ec" (string-append "bin-x86_64-efi/"
|
||||
vid did ".efidrv")
|
||||
"-o" (string-append firmware
|
||||
"/efi-" name ".rom")))))
|
||||
|
|
Loading…
Reference in a new issue