summaryrefslogtreecommitdiffstats
path: root/source-builder
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2020-11-13 09:24:06 +1100
committerChris Johns <chrisj@rtems.org>2020-11-13 09:24:06 +1100
commit07261837a25a6b2be4f839a1a43484ddf19f5140 (patch)
treec763a5b09fe0f9fc1b67e6ce034319323e9a7820 /source-builder
parent6/7: Update unstable RTEMS 6/7 tool chain (diff)
downloadrtems-source-builder-07261837a25a6b2be4f839a1a43484ddf19f5140.tar.bz2
devel/qemu: Update QEMU to 5.2.0-rc1
- 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
Diffstat (limited to 'source-builder')
-rw-r--r--source-builder/config/qemu-5-1.cfg9
-rw-r--r--source-builder/config/qemu-common-2.cfg145
2 files changed, 154 insertions, 0 deletions
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}