blob: 1dbaf05fa507ce9dd383cdb3966538a540013a9a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
#
# QEMU Common Version 1.
#
# This configuration file configure's, make's and install's QEMU.
#
%if %{release} == %{nil}
%define release 1
%endif
#
# Select Snapshot Macro Maps
#
%select qemu-snapshot
#
# The description.
#
Name: qemu-%{qemu_version}-%{_host}-%{release}
Summary: Qemu is a simulator of various processors.
Version: %{qemu_version}
Release: %{release}
URL: http://www.qemu.org/
#
# Source
#
%source set qemu http://wiki.qemu-project.org/download/qemu-%{qemu_version}.tar.bz2
#
# QEMU Disable component list.
#
# We are not interested in the VM use case for qemu and most of that
# functionality carries host platform baggage which complicates building on a
# range of host platforms.
#
# You can specialise before including this config file.
#
#
%define qemu_std_disables --disable-werror
%define qemu_std_disables %{qemu_std_disables} --disable-tools
%define qemu_std_disables %{qemu_std_disables} --disable-pie
%define qemu_std_disables %{qemu_std_disables} --disable-vnc
%define qemu_std_disables %{qemu_std_disables} --disable-sdl
%define qemu_std_disables %{qemu_std_disables} --disable-gtk
%define qemu_std_disables %{qemu_std_disables} --disable-opengl
%define qemu_std_disables %{qemu_std_disables} --disable-netmap
%ifn %{defined qemu_disables}
%define qemu_disables %{nil}
%endif
%define qemu_disables %{qemu_std_disables} %{qemu_disables}
#
# QEMU Targets to build.
#
%if %{!defined qemu_archs} && %{!defined with_qemu_archs}
%define qemu_target_list %{nil}
%else
%if %{defined with_qemu_archs}
%define qemu_target_list --target-list=%{with_qemu_archs}
%else
%define qemu_target_list --target-list=%{qemu_archs}
%endif
%endif
#
# Clear the path to SB, meson does not like the python pkg-config
#
%define _extra_path %{nil}
#
# Prepare the source code.
#
%prep
build_top=$(pwd)
source_dir_qemu="qemu-%{qemu_version}"
%source setup qemu -q -n qemu-%{qemu_version}
%patch setup qemu -p1
cd ${build_top}
%build
build_top=$(pwd)
%{build_directory}
mkdir -p ${build_dir}
cd ${build_dir}
%if %{pkgconfig check vdeplug}
VDE_CONFIG="--enable-vde"
VDE_CFLAGS="%{pkgconfig cflags vdeplug}"
VDE_LDFLAGS="%{pkgconfig ldflags vdeplug} %{pkgconfig libs vdeplug}"
%endif
%{host_build_flags}
if test "%{_build}" != "%{_host}" ; then
CROSS_PREFIX_OPTION="--cross-prefix=%{_host}-"
fi
SYSROOT=$SB_TMPPREFIX
STAGED_GLIB="-I${SB_TMPPREFIX}/include/glib-2.0 -I${SB_TMPPREFIX}/lib/glib-2.0/include"
STAGED_PIXMAN=" -I${SB_TMPPREFIX}/include/pixman-1"
STAGED_INCLUDES="${STAGED_GLIB} ${STAGED_PIXMAN}"
CC="${CC} ${STAGED_INCLUDES}"
CXX="${CXX} ${STAGED_INCLUDES}"
#
# Hack warning: MSYS2 does not seem to convert the path to
# a shell path from Windows so we keep them
# separate and handle it in the pkgconfig tool.
#
PKG_CONFIG_DEFAULT_PATH=${PKG_CONFIG_PATH} \
PKG_CONFIG_PATH=$SYSROOT/lib/pkgconfig \
PKG_CONFIG_BUILD_TOP_DIR=$SB_TMPROOT \
%{_ld_library_path}=$SYSROOT/lib \
LDFLAGS="-Wl,-rpath -Wl,/$SB_PREFIX_CLEAN/lib -L$SYSROOT/lib ${VDE_LDFLAGS}" \
CFLAGS="${CFLAGS} ${VDE_CFLAGS}" \
../${source_dir_qemu}/configure \
--prefix=%{_prefix} \
${CROSS_PREFIX_OPTION} \
--make=%{__make} \
%{qemu_target_list} \
${VDE_CONFIG} \
%{qemu_disables}
%{_ld_library_path}=$SYSROOT/lib \
%{__make} %{?_smp_mflags} all
cd ${build_top}
%install
build_top=$(pwd)
%{__rmdir} $SB_BUILD_ROOT
cd ${build_dir}
%{_ld_library_path}=$SYSROOT/lib \
%{__make} DESTDIR=$SB_BUILD_ROOT install
cd ${build_top}
|