137 lines
3.3 KiB
INI

#
# QEMU 1.x.x 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-smartcard-nss
%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
#
# 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
#
# The --extra-cflags and --extra-ldflags do not work as expected.
#
# 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}