#######################################################################
# Common libraries for tools and emulators
qom-obj-y = qom/libqom.fa

#######################################################################
# code used by both qemu system emulation and qemu-img

ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)

authz-obj-y = authz/libauthz.fa
authz/libauthz.fa-libs = $(if $(CONFIG_AUTH_PAM),-lpam)

block-obj-y += libblock.fa

libblock.fa-libs = $(ZSTD_LIBS)
libblock.fa-libs += $(LIBNFS_LIBS)
libblock.fa-libs += $(LIBISCSI_LIBS)
libblock.fa-libs += $(CURL_LIBS)
libblock.fa-libs += $(RBD_LIBS)
libblock.fa-libs += $(GLUSTERFS_LIBS)
libblock.fa-libs += $(VXHS_LIBS)
libblock.fa-libs += $(LIBSSH_LIBS)
libblock.fa-libs += $(BZIP2_LIBS)
libblock.fa-libs += $(LZFSE_LIBS)
libblock.fa-libs += $(if $(CONFIG_LINUX_AIO),-laio)
libblock.fa-libs += $(LIBXML2_LIBS)

chardev-obj-y = chardev/libchardev.fa

crypto-obj-y = crypto/libcrypto.fa

io-obj-y = io/libio.fa

endif # CONFIG_SOFTMMU or CONFIG_TOOLS

######################################################################
# Target independent part of system emulation. The long term path is to
# suppress *all* target specific code in case of system emulation, i.e. a
# single QEMU executable should support all CPUs and machines.

ifeq ($(CONFIG_SOFTMMU),y)
common-obj-y =

common-obj-$(CONFIG_AUDIO_ALSA) += audio-alsa$(DSOSUF)
common-obj-$(CONFIG_AUDIO_OSS) += audio-oss$(DSOSUF)
common-obj-$(CONFIG_AUDIO_PA) += audio-pa$(DSOSUF)
common-obj-$(CONFIG_AUDIO_SDL) += audio-sdl$(DSOSUF)

common-obj-$(if $(CONFIG_CURSES),m) += ui-curses$(DSOSUF)
common-obj-$(if $(CONFIG_GTK),m) += ui-gtk$(DSOSUF)
common-obj-$(if $(CONFIG_SDL),m) += ui-sdl$(DSOSUF)
common-obj-$(if $(CONFIG_SPICE),m) += ui-spice-app$(DSOSUF)

common-obj-$(if $(CONFIG_CURL),m) += block-curl$(DSOSUF)
common-obj-$(if $(CONFIG_GLUSTERFS),m) += block-gluster$(DSOSUF)
common-obj-$(if $(CONFIG_LIBISCSI),m) += block-iscsi$(DSOSUF)
common-obj-$(if $(CONFIG_LIBNFS),m) += block-nfs$(DSOSUF)
common-obj-$(if $(CONFIG_LIBSSH),m) += block-ssh$(DSOSUF)
common-obj-$(if $(CONFIG_RBD),m) += block-rbd$(DSOSUF)

common-obj-$(if $(CONFIG_LZFSE),m) += block-dmg-lzfse$(DSOSUF)
common-obj-$(if $(and $(CONFIG_BZIP2),$(CONFIG_DMG)),m) += block-dmg-bz2$(DSOSUF)

common-obj-y += libqmp.fa

endif # CONFIG_SOFTMMU

######################################################################
# Resource file for Windows executables
version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
