27685a8dd0
dmg.o was moved to block-obj-m in5505e8b76
to become a separate module, so that its reference to libbz2, since6b383c08c
, doesn't add an extra library to the main executable. Until recently, commit 06e60f70a (blockdev: Add dynamic module loading for block drivers) moved it back to block-obj-y to simplify the design of dynamic loading of block modules. But we don't want to lose the feature of less library dependency on the main executable. The solution here is to move only the bz2 related code to a separate DSO file, and load it when dmg_open is called. dmg_probe doesn't depend on bz2 support to work, and is the only code in this file which can run before dmg_open. While we are at it, fix the unhelpful cast of last argument passed to dmg_uncompress_bz2. Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1473043845-13197-4-git-send-email-famz@redhat.com Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
48 lines
1.7 KiB
Makefile
48 lines
1.7 KiB
Makefile
block-obj-y += raw_bsd.o qcow.o vdi.o vmdk.o cloop.o bochs.o vpc.o vvfat.o dmg.o
|
|
block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
|
|
block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
|
|
block-obj-y += qed-check.o
|
|
block-obj-y += vhdx.o vhdx-endian.o vhdx-log.o
|
|
block-obj-y += quorum.o
|
|
block-obj-y += parallels.o blkdebug.o blkverify.o blkreplay.o
|
|
block-obj-y += block-backend.o snapshot.o qapi.o
|
|
block-obj-$(CONFIG_WIN32) += raw-win32.o win32-aio.o
|
|
block-obj-$(CONFIG_POSIX) += raw-posix.o
|
|
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
|
|
block-obj-y += null.o mirror.o commit.o io.o
|
|
block-obj-y += throttle-groups.o
|
|
|
|
block-obj-y += nbd.o nbd-client.o sheepdog.o
|
|
block-obj-$(CONFIG_LIBISCSI) += iscsi.o
|
|
block-obj-$(CONFIG_LIBNFS) += nfs.o
|
|
block-obj-$(CONFIG_CURL) += curl.o
|
|
block-obj-$(CONFIG_RBD) += rbd.o
|
|
block-obj-$(CONFIG_GLUSTERFS) += gluster.o
|
|
block-obj-$(CONFIG_ARCHIPELAGO) += archipelago.o
|
|
block-obj-$(CONFIG_LIBSSH2) += ssh.o
|
|
block-obj-y += accounting.o dirty-bitmap.o
|
|
block-obj-y += write-threshold.o
|
|
block-obj-y += backup.o
|
|
block-obj-$(CONFIG_REPLICATION) += replication.o
|
|
|
|
block-obj-y += crypto.o
|
|
|
|
common-obj-y += stream.o
|
|
|
|
nfs.o-libs := $(LIBNFS_LIBS)
|
|
iscsi.o-cflags := $(LIBISCSI_CFLAGS)
|
|
iscsi.o-libs := $(LIBISCSI_LIBS)
|
|
curl.o-cflags := $(CURL_CFLAGS)
|
|
curl.o-libs := $(CURL_LIBS)
|
|
rbd.o-cflags := $(RBD_CFLAGS)
|
|
rbd.o-libs := $(RBD_LIBS)
|
|
gluster.o-cflags := $(GLUSTERFS_CFLAGS)
|
|
gluster.o-libs := $(GLUSTERFS_LIBS)
|
|
ssh.o-cflags := $(LIBSSH2_CFLAGS)
|
|
ssh.o-libs := $(LIBSSH2_LIBS)
|
|
archipelago.o-libs := $(ARCHIPELAGO_LIBS)
|
|
block-obj-$(if $(CONFIG_BZIP2),m,n) += dmg-bz2.o
|
|
dmg-bz2.o-libs := $(BZIP2_LIBS)
|
|
qcow.o-libs := -lz
|
|
linux-aio.o-libs := -laio
|