1#!/bin/sh -e
2#
3# Configuration for QEMU based on CentOS Stream 8 x86_64 builds
4#
5# The "configure" command line is based on:
6#
7# https://git.centos.org/rpms/qemu-kvm/blob/c8s-stream-rhel/f/SPECS/qemu-kvm.spec
8#
9# But, because the SPEC file contains a number of conditionals and
10# variable and expansions only available at RPM build time, this version
11# was initially generated from an actual RPM build on an x86_64 platform.
12#
13# From that initial version, options that are required or are a
14# consequence of non-upstream patches have been adapted.  One example
15# is "--without-default-devices" which is *not* present here, given
16# that patches adding downstream specific devices are not available.
17#
18../configure \
19--prefix="/usr" \
20--libdir="/usr/lib64" \
21--datadir="/usr/share" \
22--sysconfdir="/etc" \
23--interp-prefix=/usr/qemu-%M \
24--localstatedir="/var" \
25--docdir="/usr/share/doc" \
26--libexecdir="/usr/libexec" \
27--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \
28--extra-cflags="-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection" \
29--with-suffix="qemu-kvm" \
30--firmwarepath=/usr/share/qemu-firmware \
31--with-git=meson \
32--with-git-submodules=update \
33--target-list="x86_64-softmmu" \
34--block-drv-rw-whitelist="qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle,gluster" \
35--audio-drv-list="" \
36--block-drv-ro-whitelist="vmdk,vhdx,vpc,https,ssh" \
37--with-coroutine=ucontext \
38--with-git=git \
39--tls-priority=@QEMU,SYSTEM \
40--disable-attr \
41--disable-auth-pam \
42--disable-avx2 \
43--disable-avx512f \
44--disable-bochs \
45--disable-bpf \
46--disable-brlapi \
47--disable-bsd-user \
48--disable-bzip2 \
49--disable-cap-ng \
50--disable-capstone \
51--disable-cfi \
52--disable-cfi-debug \
53--disable-cloop \
54--disable-cocoa \
55--disable-coroutine-pool \
56--disable-crypto-afalg \
57--disable-curl \
58--disable-curses \
59--disable-debug-info \
60--disable-debug-mutex \
61--disable-debug-tcg \
62--disable-dmg \
63--disable-docs \
64--disable-fuse \
65--disable-fuse-lseek \
66--disable-gcrypt \
67--disable-gio \
68--disable-glusterfs \
69--disable-gnutls \
70--disable-gtk \
71--disable-guest-agent \
72--disable-guest-agent-msi \
73--disable-hax \
74--disable-hvf \
75--disable-iconv \
76--disable-kvm \
77--disable-libdaxctl \
78--disable-libiscsi \
79--disable-libnfs \
80--disable-libpmem \
81--disable-libssh \
82--disable-libudev \
83--disable-libusb \
84--disable-linux-aio \
85--disable-linux-io-uring \
86--disable-linux-user \
87--disable-live-block-migration \
88--disable-lto \
89--disable-lzfse \
90--disable-lzo \
91--disable-malloc-trim \
92--disable-membarrier \
93--disable-modules \
94--disable-module-upgrades \
95--disable-mpath \
96--disable-multiprocess \
97--disable-netmap \
98--disable-nettle \
99--disable-numa \
100--disable-nvmm \
101--disable-opengl \
102--disable-parallels \
103--disable-pie \
104--disable-pvrdma \
105--disable-qcow1 \
106--disable-qed \
107--disable-qom-cast-debug \
108--disable-rbd \
109--disable-rdma \
110--disable-replication \
111--disable-rng-none \
112--disable-safe-stack \
113--disable-sanitizers \
114--disable-sdl \
115--disable-sdl-image \
116--disable-seccomp \
117--disable-slirp-smbd \
118--disable-smartcard \
119--disable-snappy \
120--disable-sparse \
121--disable-spice \
122--disable-strip \
123--disable-system \
124--disable-tcg \
125--disable-tools \
126--disable-tpm \
127--disable-u2f \
128--disable-usb-redir \
129--disable-user \
130--disable-vde \
131--disable-vdi \
132--disable-vhost-crypto \
133--disable-vhost-kernel \
134--disable-vhost-net \
135--disable-vhost-scsi \
136--disable-vhost-user \
137--disable-vhost-user-blk-server \
138--disable-vhost-vdpa \
139--disable-vhost-vsock \
140--disable-virglrenderer \
141--disable-virtfs \
142--disable-virtiofsd \
143--disable-vnc \
144--disable-vnc-jpeg \
145--disable-vnc-png \
146--disable-vnc-sasl \
147--disable-vte \
148--disable-vvfat \
149--disable-werror \
150--disable-whpx \
151--disable-xen \
152--disable-xen-pci-passthrough \
153--disable-xkbcommon \
154--disable-zstd \
155--enable-attr \
156--enable-avx2 \
157--enable-cap-ng \
158--enable-capstone \
159--enable-coroutine-pool \
160--enable-curl \
161--enable-debug-info \
162--enable-docs \
163--enable-fdt \
164--enable-gcrypt \
165--enable-glusterfs \
166--enable-gnutls \
167--enable-guest-agent \
168--enable-iconv \
169--enable-kvm \
170--enable-libiscsi \
171--enable-libpmem \
172--enable-libssh \
173--enable-libusb \
174--enable-libudev \
175--enable-linux-aio \
176--enable-lzo \
177--enable-malloc-trim \
178--enable-modules \
179--enable-mpath \
180--enable-numa \
181--enable-opengl \
182--enable-pie \
183--enable-rbd \
184--enable-rdma \
185--enable-seccomp \
186--enable-snappy \
187--enable-smartcard \
188--enable-spice \
189--enable-system \
190--enable-tcg \
191--enable-tools \
192--enable-tpm \
193--enable-trace-backend=dtrace \
194--enable-usb-redir \
195--enable-virtiofsd \
196--enable-vhost-kernel \
197--enable-vhost-net \
198--enable-vhost-user \
199--enable-vhost-user-blk-server \
200--enable-vhost-vdpa \
201--enable-vhost-vsock \
202--enable-vnc \
203--enable-vnc-png \
204--enable-vnc-sasl \
205--enable-werror \
206--enable-xkbcommon
207