qemu-devel
[Top][All Lists]
Advanced

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

meson: how to determine which directory applies to the c_args during bui


From: Bin Meng
Subject: meson: how to determine which directory applies to the c_args during build?
Date: Thu, 3 Sep 2020 12:43:22 +0800

Hi,

I want to move a RISC-V model from hw/riscv directory to hw/uart
directory. The C file includes "target/riscv/cpu.h", but it fails to
compile:

include/exec/cpu-defs.h:23:2: error: #error cpu.h included from common code
 #error cpu.h included from common code
  ^
In file included from include/exec/cpu-defs.h:29:0,
                 from target/riscv/cpu.h:25,

...

tcg/i386/tcg-target.h:140:42: error: attempt to use poisoned "TARGET_LONG_BITS"
 #define TCG_TARGET_HAS_extrl_i64_i32    (TARGET_LONG_BITS == 32)
                                          ^
tcg/i386/tcg-target.h:141:42: error: attempt to use poisoned "TARGET_LONG_BITS"
 #define TCG_TARGET_HAS_extrh_i64_i32    (TARGET_LONG_BITS == 32)
                                          ^

It seems to me that when building hw/char directory NEED_CPU_H is not
defined. However when building hw/riscv and hw/intc NEED_CPU_H is
defined. I see NEED_CPU_H is defined in c_args in meson.build:

  c_args = ['-DNEED_CPU_H',
            '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
            '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]

Currently codes in hw/riscv and hw/intc have the "target/riscv/cpu.h"
inclusion but they do build fine. This seems to me that c_args applies
to hw/riscv and hw/intc directory but not hw/char. I also tried other
directories like hw/dma and it didn't work either.

I have no clue where to control c_args to build sub-directories. Any
suggestions?

Regards,
Bin



reply via email to

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