From: Chris Johns <chr...@rtems.org> - 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 --- .../{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} | 18 +-- bare/config/devel/qemu.bset | 2 +- bare/config/devel/qemu4.bset | 25 --- source-builder/config/qemu-5-1.cfg | 9 ++ source-builder/config/qemu-common-2.cfg | 145 ++++++++++++++++++ 5 files changed, 164 insertions(+), 35 deletions(-) rename bare/config/devel/{qemu4-git-1.cfg => qemu-5.2.0-1.cfg} (58%) delete mode 100644 bare/config/devel/qemu4.bset create mode 100644 source-builder/config/qemu-5-1.cfg create mode 100644 source-builder/config/qemu-common-2.cfg
diff --git a/bare/config/devel/qemu4-git-1.cfg b/bare/config/devel/qemu-5.2.0-1.cfg similarity index 58% rename from bare/config/devel/qemu4-git-1.cfg rename to bare/config/devel/qemu-5.2.0-1.cfg index ff241bb..8c80ffc 100644 --- a/bare/config/devel/qemu4-git-1.cfg +++ b/bare/config/devel/qemu-5.2.0-1.cfg @@ -13,14 +13,14 @@ # # Stable version. Qemu is fast moving. # -%define qemu_version 4.1.0 +%define qemu_version 5.2.0-rc1 # # Use release sources. # %source set qemu https://download.qemu.org/qemu-%{qemu_version}.tar.xz -%hash sha512 qemu-%{qemu_version}.tar.xz \ - gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg== +#%hash sha512 qemu-%{qemu_version}.tar.xz \ +# gv1RcCp7mxsAsvG9O0qDK4AkkBjbuhrdCwpz59S+5FKv1FV0tNjffORHfYcR872kygcqGm3iWJXJPrIc94/Esg== # # Patches from Qemu's patchworks site. @@ -30,13 +30,13 @@ 40399fcedb44b2c1bfa1a95af482f7f335f42d713967ed2f34980a7a940c3740 # -# Patches to build qemu-4.1.0-sparc with Leon3 support +# Patches to build qemu sparc with Leon3 support # -%patch add qemu https://gaisler.se/qemu/qemu-4.1.0-leon3.patch -%hash sha256 qemu-4.1.0-leon3.patch \ - d62ff3418903f1c5eb7f6d727af0400caeb250e23cc120111930601c9ecce02a +%patch add qemu https://gaisler.se/qemu/qemu-5.2.0-leon3.patch +%hash sha512 qemu-5.2.0-leon3.patch \ + cQju/ja5SAM+gsXEkzSteeR+7PjG9g2w+yUb4kg1eZoOSm2MmZDjA/auINVdRax8wgtIEWnzq5/hdY7/THnowg== # -# The Qemu build instructions. We use 4.x.x Release 1. +# The Qemu build instructions. We use 5.x.x Release 1. # -%include %{_configdir}/qemu-4-1.cfg +%include %{_configdir}/qemu-5-1.cfg diff --git a/bare/config/devel/qemu.bset b/bare/config/devel/qemu.bset index a8b1ebf..3a9b0d5 100644 --- a/bare/config/devel/qemu.bset +++ b/bare/config/devel/qemu.bset @@ -21,4 +21,4 @@ devel/gettext-0.18.3.1-1 devel/libffi-3.0.13-1 devel/pixman-0.40.0-1 devel/glib-2.48.2-1 -devel/qemu-git-1 +devel/qemu-5.2.0-1 diff --git a/bare/config/devel/qemu4.bset b/bare/config/devel/qemu4.bset deleted file mode 100644 index fa52084..0000000 --- a/bare/config/devel/qemu4.bset +++ /dev/null @@ -1,25 +0,0 @@ -# -# Build set for QEMU -# - -%define release 1 - -# -# Name of the package. -# -package: qemu-%{qemu_version}-%{_host}-%{release} - -# -# A magic internal path that would break if changes in the defaults.mc -# macro file are made. -# -%define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN} - -# I don't think these are needed anymore ...? -#devel/autotools-internal -devel/libiconv-1.14-1 -devel/gettext-0.18.3.1-1 -devel/libffi-3.0.13-1 -devel/pixman-0.40.0-1 -devel/glib-2.46.2-1 -devel/qemu4-git-1 diff --git a/source-builder/config/qemu-5-1.cfg b/source-builder/config/qemu-5-1.cfg new file mode 100644 index 0000000..7ca58b8 --- /dev/null +++ b/source-builder/config/qemu-5-1.cfg @@ -0,0 +1,9 @@ +# +# QEMU 5 Version 1. +# +# This configuration file configure's, make's and install's QEMU. +# + +%define qemu_disables --disable-nettle + +%include %{_configdir}/qemu-common-2.cfg diff --git a/source-builder/config/qemu-common-2.cfg b/source-builder/config/qemu-common-2.cfg new file mode 100644 index 0000000..1dbaf05 --- /dev/null +++ b/source-builder/config/qemu-common-2.cfg @@ -0,0 +1,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} -- 2.24.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel