package/libglib2: fix build on ARM in Thumb mode
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 24 Jun 2019 20:25:50 +0000 (22:25 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Mon, 1 Jul 2019 08:02:15 +0000 (10:02 +0200)
commitad125248030dcb7b3a8e13c96b727262799c48b9
treef5d8107fd0c048cfa0fd2ea96f32de2e2f94d1a8
parentc2e24f106058e63d7cb4404da0e7a6f209c162dc
package/libglib2: fix build on ARM in Thumb mode

Commit 4102db0f7 (package/libglib2: bump to version 2.60.3) did convert
libglib2 over to meson. In doing so, it left a very corner-case along.

When the target is an ARM CPU and the build is in thumb mode, then we
want to ensure that libglib2 is still built in arm mode (because of
inline asm).

But with meson, CFLAGS from the environment are passed to the host
compiler, so the build breaks, and the meson log contains:

    Appending CFLAGS from environment: '-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -marm'
    No LDFLAGS in the environment, not changing global flags.
    No CPPFLAGS in the environment, not changing global flags.
    Sanity testing C compiler: cc
    Is cross compiler: False.
    Sanity check compiler command line: cc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -marm [...]/build/libglib2-2.60.4/build/meson-private/sanitycheckc.c -o [...]/build/libglib2-2.60.4/build/meson-private/sanitycheckc.exe
    Sanity check compile stdout:
    -----
    Sanity check compile stderr:
    cc: error: unrecognized command line option ‘-marm’; did you mean ‘-mabm’?
    -----
    meson.build:1:0: ERROR: Compiler cc can not compile programs.

Fix that by using the new per-package CFLAGS feature of the meson infra.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Adam Duskett <aduskett@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/libglib2/libglib2.mk