bsd-user: add HOST_VARIANT_DIR for various *BSD dependent code

This change adds HOST_VARIANT_DIR so the various BSD OS dependent
code can be separated into its own directories rather than
using #ifdef's.

This may also allow an BSD variant OS to host another BSD variant's
executable as a target.

Signed-off-by: Sean Bruno <sbruno@freebsd.org>
Message-id: 1402246651-71099-2-git-send-email-sbruno@freebsd.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Stacey Son 2014-06-08 09:57:22 -07:00 committed by Peter Maydell
parent 7224f66ec3
commit adfc3e91e2
2 changed files with 13 additions and 1 deletions

View File

@ -102,7 +102,8 @@ endif #CONFIG_LINUX_USER
ifdef CONFIG_BSD_USER ifdef CONFIG_BSD_USER
QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ABI_DIR) QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ABI_DIR) \
-I$(SRC_PATH)/bsd-user/$(HOST_VARIANT_DIR)
obj-y += bsd-user/ obj-y += bsd-user/
obj-y += gdbstub.o user-exec.o obj-y += gdbstub.o user-exec.o

11
configure vendored
View File

@ -541,6 +541,9 @@ fi
# OS specific # OS specific
# host *BSD for user mode
HOST_VARIANT_DIR=""
case $targetos in case $targetos in
CYGWIN*) CYGWIN*)
mingw32="yes" mingw32="yes"
@ -566,12 +569,14 @@ FreeBSD)
# needed for kinfo_getvmmap(3) in libutil.h # needed for kinfo_getvmmap(3) in libutil.h
LIBS="-lutil $LIBS" LIBS="-lutil $LIBS"
netmap="" # enable netmap autodetect netmap="" # enable netmap autodetect
HOST_VARIANT_DIR="freebsd"
;; ;;
DragonFly) DragonFly)
bsd="yes" bsd="yes"
make="${MAKE-gmake}" make="${MAKE-gmake}"
audio_drv_list="oss" audio_drv_list="oss"
audio_possible_drivers="oss sdl esd pa" audio_possible_drivers="oss sdl esd pa"
HOST_VARIANT_DIR="dragonfly"
;; ;;
NetBSD) NetBSD)
bsd="yes" bsd="yes"
@ -579,12 +584,14 @@ NetBSD)
audio_drv_list="oss" audio_drv_list="oss"
audio_possible_drivers="oss sdl esd" audio_possible_drivers="oss sdl esd"
oss_lib="-lossaudio" oss_lib="-lossaudio"
HOST_VARIANT_DIR="netbsd"
;; ;;
OpenBSD) OpenBSD)
bsd="yes" bsd="yes"
make="${MAKE-gmake}" make="${MAKE-gmake}"
audio_drv_list="sdl" audio_drv_list="sdl"
audio_possible_drivers="sdl esd" audio_possible_drivers="sdl esd"
HOST_VARIANT_DIR="openbsd"
;; ;;
Darwin) Darwin)
bsd="yes" bsd="yes"
@ -602,6 +609,7 @@ Darwin)
# Disable attempts to use ObjectiveC features in os/object.h since they # Disable attempts to use ObjectiveC features in os/object.h since they
# won't work when we're compiling with gcc as a C compiler. # won't work when we're compiling with gcc as a C compiler.
QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS" QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
HOST_VARIANT_DIR="darwin"
;; ;;
SunOS) SunOS)
solaris="yes" solaris="yes"
@ -4981,6 +4989,9 @@ if [ "$TARGET_ABI_DIR" = "" ]; then
TARGET_ABI_DIR=$TARGET_ARCH TARGET_ABI_DIR=$TARGET_ARCH
fi fi
echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak 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
case "$target_name" in case "$target_name" in
i386|x86_64) i386|x86_64)
if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then