Эх сурвалжийг харах

lfs-multiarch: meson: use native file instead of cross file

Xi Ruoyao 6 жил өмнө
parent
commit
71bcc5f23d

+ 11 - 2
content/post/lfs-multiarch-note.md

@@ -475,7 +475,7 @@ libpython3.6m.so to the correct library path.
 Meson itself is in pure Python and has no binary libraries.  But to use
 Meson building system to build multilib, we need to tell Meson some
 information of the ABI.  After installation of Meson, create
-`/usr/share/meson/cross/x86` for 32-bit:
+`/usr/share/meson/native/x86` for 32-bit:
 
 ```ini
 [binaries]
@@ -497,10 +497,19 @@ cpu = 'i686'
 endian = 'little'
 ```
 
-Then we can use `meson --cross-file x86` for 32-bit.  `exec_wrapper = ""`
+Then we can use `meson --native-file x86` for 32-bit.  `exec_wrapper = ""`
 tells Meson we can run the generated executables natively.  Without it
 some BLFS packages refuse to build.
 
+{{% alert note %}}
+I'd used `/usr/share/meson/cross` and `--cross-file`, just like a
+*pseudo-cross* building with autoconf `configure` script.  But it turned out
+some packages refuse to build certain parts (for example `gir` files) when
+they are cross compiled.  And, `meson` now uses *host* pkg-config to locate
+`g-ir-scanner` and `g-ir-compiler`.  So we have to stop pretending cross
+building for 32-bit.
+{{% /alert %}}
+
 [14]:http://www.linuxfromscratch.org/lfs/view/8.3-rc2/chapter06/gmp.html
 [15]:http://www.linuxfromscratch.org/lfs/view/8.3-rc2/chapter06/pkg-config.html
 [15a]:http://www.linuxfromscratch.org/lfs/view/development/chapter06/bzip2.html