aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xconfigure1
-rw-r--r--meson.build1
-rw-r--r--target/meson.build1
-rw-r--r--target/s390x/Makefile.objs20
-rw-r--r--target/s390x/cpu_features.h2
-rw-r--r--target/s390x/cpu_models.h2
-rw-r--r--target/s390x/meson.build9
8 files changed, 15 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index 1ee3398c15..698bbdfcd3 100644
--- a/Makefile
+++ b/Makefile
@@ -124,6 +124,8 @@ CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
generated-files-y = config-host.h
generated-files-y += module_block.h
+generated-files-y += target/s390x/gen-features.h
+target/s390x/gen-features.h: Makefile.ninja
generated-files-y += .git-submodule-status
diff --git a/configure b/configure
index e58607a984..c20436f8b2 100755
--- a/configure
+++ b/configure
@@ -7834,7 +7834,6 @@ echo "CC=$cc" >> $config_host_mak
if $iasl -h > /dev/null 2>&1; then
echo "IASL=$iasl" >> $config_host_mak
fi
-echo "HOST_CC=$host_cc" >> $config_host_mak
echo "CXX=$cxx" >> $config_host_mak
echo "OBJCC=$objcc" >> $config_host_mak
echo "AR=$ar" >> $config_host_mak
diff --git a/meson.build b/meson.build
index ece3be725d..c892672628 100644
--- a/meson.build
+++ b/meson.build
@@ -348,6 +348,7 @@ qemuutil = declare_dependency(link_with: libqemuutil,
subdir('io')
subdir('fsdev')
+subdir('target')
# Other build targets
if 'CONFIG_GUEST_AGENT' in config_host
diff --git a/target/meson.build b/target/meson.build
new file mode 100644
index 0000000000..e29dd3e01f
--- /dev/null
+++ b/target/meson.build
@@ -0,0 +1 @@
+subdir('s390x')
diff --git a/target/s390x/Makefile.objs b/target/s390x/Makefile.objs
index 3e2745594a..9b9accc5fd 100644
--- a/target/s390x/Makefile.objs
+++ b/target/s390x/Makefile.objs
@@ -8,23 +8,3 @@ obj-$(CONFIG_SOFTMMU) += sigp.o
obj-$(CONFIG_KVM) += kvm.o
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
-
-# build and run feature list generator
-feat-src = $(SRC_PATH)/target/$(TARGET_BASE_ARCH)/
-feat-dst = $(BUILD_DIR)/$(TARGET_DIR)
-ifneq ($(MAKECMDGOALS),clean)
-generated-files-y += $(feat-dst)gen-features.h
-endif
-
-$(feat-dst)gen-features.h: $(feat-dst)gen-features.h-timestamp
- @cmp $< $@ >/dev/null 2>&1 || cp $< $@
-$(feat-dst)gen-features.h-timestamp: $(feat-dst)gen-features
- $(call quiet-command,$< >$@,"GEN","$(TARGET_DIR)gen-features.h")
-
-$(feat-dst)gen-features: $(feat-src)gen-features.c
- $(call quiet-command,$(HOST_CC) $(QEMU_INCLUDES) -o $@ $<,"CC","$(TARGET_DIR)gen-features")
-
-clean-target:
- rm -f gen-features.h-timestamp
- rm -f gen-features.h
- rm -f gen-features
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index da695a8346..2a29475493 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -16,7 +16,7 @@
#include "qemu/bitmap.h"
#include "cpu_features_def.h"
-#include "gen-features.h"
+#include "target/s390x/gen-features.h"
/* CPU features are announced via different ways */
typedef enum {
diff --git a/target/s390x/cpu_models.h b/target/s390x/cpu_models.h
index 88bd01a616..74d1f87e4f 100644
--- a/target/s390x/cpu_models.h
+++ b/target/s390x/cpu_models.h
@@ -14,7 +14,7 @@
#define TARGET_S390X_CPU_MODELS_H
#include "cpu_features.h"
-#include "gen-features.h"
+#include "target/s390x/gen-features.h"
#include "hw/core/cpu.h"
/* static CPU definition */
diff --git a/target/s390x/meson.build b/target/s390x/meson.build
new file mode 100644
index 0000000000..ddf8d20a36
--- /dev/null
+++ b/target/s390x/meson.build
@@ -0,0 +1,9 @@
+gen_features = executable('gen-features', 'gen-features.c', native: true,
+ build_by_default: false)
+
+gen_features_h = custom_target('gen-features.h',
+ output: 'gen-features.h',
+ capture: true,
+ command: gen_features)
+
+specific_ss.add(gen_features_h)