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--python=/usr/bin/python3.8 \
20--prefix="/usr" \
21--libdir="/usr/lib64" \
22--datadir="/usr/share" \
23--sysconfdir="/etc" \
24--interp-prefix=/usr/qemu-%M \
25--localstatedir="/var" \
26--docdir="/usr/share/doc" \
27--libexecdir="/usr/libexec" \
28--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \
29--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" \
30--with-suffix="qemu-kvm" \
31--firmwarepath=/usr/share/qemu-firmware \
32--with-git=meson \
33--with-git-submodules=update \
34--target-list="x86_64-softmmu" \
35--block-drv-rw-whitelist="qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle,gluster" \
36--audio-drv-list="" \
37--block-drv-ro-whitelist="vmdk,vhdx,vpc,https,ssh" \
38--with-coroutine=ucontext \
39--with-git=git \
40--tls-priority=@QEMU,SYSTEM \
41--disable-attr \
42--disable-auth-pam \
43--disable-avx2 \
44--disable-avx512f \
45--disable-bochs \
46--disable-bpf \
47--disable-brlapi \
48--disable-bsd-user \
49--disable-bzip2 \
50--disable-cap-ng \
51--disable-capstone \
52--disable-cfi \
53--disable-cfi-debug \
54--disable-cloop \
55--disable-cocoa \
56--disable-coroutine-pool \
57--disable-crypto-afalg \
58--disable-curl \
59--disable-curses \
60--disable-debug-info \
61--disable-debug-mutex \
62--disable-debug-tcg \
63--disable-dmg \
64--disable-docs \
65--disable-fuse \
66--disable-fuse-lseek \
67--disable-gcrypt \
68--disable-gio \
69--disable-glusterfs \
70--disable-gnutls \
71--disable-gtk \
72--disable-guest-agent \
73--disable-guest-agent-msi \
74--disable-hax \
75--disable-hvf \
76--disable-iconv \
77--disable-kvm \
78--disable-libdaxctl \
79--disable-libiscsi \
80--disable-libnfs \
81--disable-libpmem \
82--disable-libssh \
83--disable-libudev \
84--disable-libusb \
85--disable-linux-aio \
86--disable-linux-io-uring \
87--disable-linux-user \
88--disable-live-block-migration \
89--disable-lto \
90--disable-lzfse \
91--disable-lzo \
92--disable-malloc-trim \
93--disable-membarrier \
94--disable-modules \
95--disable-module-upgrades \
96--disable-mpath \
97--disable-multiprocess \
98--disable-netmap \
99--disable-nettle \
100--disable-numa \
101--disable-nvmm \
102--disable-opengl \
103--disable-parallels \
104--disable-pie \
105--disable-pvrdma \
106--disable-qcow1 \
107--disable-qed \
108--disable-qom-cast-debug \
109--disable-rbd \
110--disable-rdma \
111--disable-replication \
112--disable-rng-none \
113--disable-safe-stack \
114--disable-sanitizers \
115--disable-sdl \
116--disable-sdl-image \
117--disable-seccomp \
118--disable-slirp-smbd \
119--disable-smartcard \
120--disable-snappy \
121--disable-sparse \
122--disable-spice \
123--disable-strip \
124--disable-system \
125--disable-tcg \
126--disable-tools \
127--disable-tpm \
128--disable-u2f \
129--disable-usb-redir \
130--disable-user \
131--disable-vde \
132--disable-vdi \
133--disable-vhost-crypto \
134--disable-vhost-kernel \
135--disable-vhost-net \
136--disable-vhost-user \
137--disable-vhost-user-blk-server \
138--disable-vhost-vdpa \
139--disable-virglrenderer \
140--disable-virtfs \
141--disable-vnc \
142--disable-vnc-jpeg \
143--disable-png \
144--disable-vnc-sasl \
145--disable-vte \
146--disable-vvfat \
147--disable-werror \
148--disable-whpx \
149--disable-xen \
150--disable-xen-pci-passthrough \
151--disable-xkbcommon \
152--disable-zstd \
153--enable-attr \
154--enable-avx2 \
155--enable-cap-ng \
156--enable-capstone \
157--enable-coroutine-pool \
158--enable-curl \
159--enable-debug-info \
160--enable-docs \
161--enable-fdt \
162--enable-gcrypt \
163--enable-glusterfs \
164--enable-gnutls \
165--enable-guest-agent \
166--enable-iconv \
167--enable-kvm \
168--enable-libiscsi \
169--enable-libpmem \
170--enable-libssh \
171--enable-libusb \
172--enable-libudev \
173--enable-linux-aio \
174--enable-lzo \
175--enable-malloc-trim \
176--enable-modules \
177--enable-mpath \
178--enable-numa \
179--enable-opengl \
180--enable-pie \
181--enable-rbd \
182--enable-rdma \
183--enable-seccomp \
184--enable-snappy \
185--enable-smartcard \
186--enable-spice \
187--enable-system \
188--enable-tcg \
189--enable-tools \
190--enable-tpm \
191--enable-trace-backends=dtrace \
192--enable-usb-redir \
193--enable-vhost-kernel \
194--enable-vhost-net \
195--enable-vhost-user \
196--enable-vhost-user-blk-server \
197--enable-vhost-vdpa \
198--enable-vnc \
199--enable-png \
200--enable-vnc-sasl \
201--enable-werror \
202--enable-xkbcommon
203