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