From c60a1f1b2823a4937535ecb97ddf21d06cfd3d3b Mon Sep 17 00:00:00 2001 In-Reply-To: <1383928417-38009-1-git-send-email-sson@FreeBSD.org> References: <1383928417-38009-1-git-send-email-sson@FreeBSD.org> From: Stacey Son Date: Sun, 6 Oct 2013 11:04:56 -0500 Subject: [PATCH v3 02/19] 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 seperated into its own directories rather than using #ifdef's. This may also allow an BSD variant OS to host another BSD variant's executible as a target. --- Makefile.target | 3 ++- configure | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/Makefile.target b/Makefile.target index af6ac7e..1306b24 100644 --- a/Makefile.target +++ b/Makefile.target @@ -99,7 +99,8 @@ endif #CONFIG_LINUX_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 += gdbstub.o user-exec.o diff --git a/configure b/configure index edfea95..4e834cf 100755 --- a/configure +++ b/configure @@ -465,6 +465,9 @@ fi # OS specific +# host *BSD for user mode +HOST_VARIANT_DIR="" + case $targetos in CYGWIN*) mingw32="yes" @@ -490,12 +493,14 @@ FreeBSD) # needed for kinfo_getvmmap(3) in libutil.h LIBS="-lutil $LIBS" netmap="" # enable netmap autodetect + HOST_VARIANT_DIR="freebsd" ;; DragonFly) bsd="yes" make="${MAKE-gmake}" audio_drv_list="oss" audio_possible_drivers="oss sdl esd pa" + HOST_VARIANT_DIR="dragonfly" ;; NetBSD) bsd="yes" @@ -503,12 +508,14 @@ NetBSD) audio_drv_list="oss" audio_possible_drivers="oss sdl esd" oss_lib="-lossaudio" + HOST_VARIANT_DIR="netbsd" ;; OpenBSD) bsd="yes" make="${MAKE-gmake}" audio_drv_list="sdl" audio_possible_drivers="sdl esd" + HOST_VARIANT_DIR="openbsd" ;; Darwin) bsd="yes" @@ -527,6 +534,7 @@ Darwin) # 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. QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS" + HOST_VARIANT_DIR="darwin" ;; SunOS) solaris="yes" @@ -4538,6 +4546,9 @@ if [ "$TARGET_ABI_DIR" = "" ]; then TARGET_ABI_DIR=$TARGET_ARCH fi 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 i386|x86_64) if test "$xen" = "yes" -a "$target_softmmu" = "yes" ; then -- 1.7.8