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:
parent
7224f66ec3
commit
adfc3e91e2
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue