mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00

- This version of qemu uses meson and ninja to build. You will need to install ninja to build. No checks are made until meson run
146 lines
3.5 KiB
INI
146 lines
3.5 KiB
INI
#
|
|
# 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}
|