linux-user: introduce parameters to generate syscall_nr.h

This will be used when we'll import syscall.tbl from the kernel

Add a script to remove all the dependencies to syscall_nr.h
that point to source directory and not to the build directory.
The list of arch will be update while the generated files are added.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20200310103403.3284090-2-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2020-03-10 11:33:43 +01:00
parent 50efc69586
commit 4d6a835dea
2 changed files with 16 additions and 1 deletions

View File

@ -128,7 +128,8 @@ ifdef CONFIG_LINUX_USER
QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR) \
-I$(SRC_PATH)/linux-user/host/$(ARCH) \
-I$(SRC_PATH)/linux-user
-I$(SRC_PATH)/linux-user \
-Ilinux-user/$(TARGET_ABI_DIR)
obj-y += linux-user/
obj-y += gdbstub.o thunk.o

14
configure vendored
View File

@ -1887,6 +1887,17 @@ fi
# Remove old dependency files to make sure that they get properly regenerated
rm -f */config-devices.mak.d
# Remove syscall_nr.h to be sure they will be regenerated in the build
# directory, not in the source directory
for arch in ; do
# remove the file if it has been generated in the source directory
rm -f "${source_path}/linux-user/${arch}/syscall_nr.h"
# remove the dependency files
find . -name "*.d" \
-exec grep -q "${source_path}/linux-user/${arch}/syscall_nr.h" {} \; \
-exec rm {} \;
done
if test -z "$python"
then
error_exit "Python not found. Use --python=/path/to/python"
@ -7931,6 +7942,9 @@ echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
if [ "$HOST_VARIANT_DIR" != "" ]; then
echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak
fi
if [ "$TARGET_SYSTBL_ABI" != "" ]; then
echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
fi
if supported_xen_target $target; then
echo "CONFIG_XEN=y" >> $config_target_mak