guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#49025] [PATCH v5 20/20] meson: Support cross-compilation.


From: Maxime Devos
Subject: [bug#49025] [PATCH v5 20/20] meson: Support cross-compilation.
Date: Tue, 13 Jul 2021 15:36:14 +0200
User-agent: Evolution 3.34.2

Mathieu Othacehe schreef op ma 12-07-2021 om 14:42 [+0200]:
> Hey,
> 
> > This has been tested with:
> > 
> > $ ./pre-inst-env guix build glib --target=aarch64-linux-gnu
> > 
> > on a x86_64-linux system.  ‘If it compiles, it should work.’
> 
> Nice you added aarch64 support :).
> 
> > +(define (target-hurd? triplet)
> > +  (and (string-suffix? "-gnu" triplet)
> > +       (not (string-contains triplet "linux"))))
> 
> Maybe it should go in the (guix utils) module.

I placed it there, and adjusted (gnu packages hurd)
and other modules to use it instead of hurd-triplet?.
> 
> > +    (cpu . ,(cond ((target-x86-32? triplet) ; i386, ..., i686
> > +                   (substring triplet 0 4))
> > +                  ((target-x86-64? triplet) "x86_64")
> > +                  ((target-aarch64? triplet) "armv8-a")
> 
> We could add:
> 
> --8<---------------cut here---------------start------------->8---
> ((target-arm32? triplet) "armv7")
> --8<---------------cut here---------------end--------------->8---
> 
> for arm32 support.

Added in the v5! I assume arm32 is little-endian in Guix.

> > +          (call-with-output-file #$output
> > +            (lambda (f)
> > +              (parameterize ((configuration-port f))
> 
> Why don't you pass the port parameter to the build side procedures like
> so:
> 
> --8<---------------cut here---------------start------------->8---
> (call-with-output-file #$output
>   (lambda (port)
>     (write-section-header port "host_machine")
>     ...
> --8<---------------cut here---------------end--------------->8---

No reason in particular.  I'll eliminate the 'configuration-port' parameter
in the v5.

> > +(define* (make-machine-alist #:key system cpu-family cpu endian)
> > +  "Make an association list for the [host_machine] section."
> > +  `((system . ,system)
> > +    (cpu-family . ,cpu-family)
> > +    (cpu . ,cpu)
> > +    (endian . ,endian)))
> 
> This one is unused, right?

Yes. I'll remove it in the v5.

I'll send the v5 once it is tested (with --target=armhf-linux-gnu).

Greetings,
Maxime.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]