diff options
author | Chris Johns <chrisj@rtems.org> | 2020-05-08 14:28:45 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2020-05-08 14:33:44 +1000 |
commit | 955c1c173e02e2ed62fe1cc11b13733700e99bcb (patch) | |
tree | f3ba7d81f128313981454797f6ad77709b0ff68c /source-builder/config/qemu-common-1.cfg | |
parent | sb: Disable any trace data (diff) | |
download | rtems-source-builder-955c1c173e02e2ed62fe1cc11b13733700e99bcb.tar.bz2 |
bare/qemu: Fixes building on FreeBSD
- Move the qemu config to a common file shared by qemu and qemu4.
- Disable nettle on qemu4, FreeBSd complained.
- Add some extra git cleaning steps to the git path. These however
do not full clean the qemu submodules and it is not worth the
effort to try and fix.
- The devel/qemu will not build on machines with python set to
python3. This will not be fixed, use qemu4.
Closes #3966
Diffstat (limited to '')
-rw-r--r-- | source-builder/config/qemu-common-1.cfg | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/source-builder/config/qemu-common-1.cfg b/source-builder/config/qemu-common-1.cfg new file mode 100644 index 0000000..e3f9ca9 --- /dev/null +++ b/source-builder/config/qemu-common-1.cfg @@ -0,0 +1,135 @@ +# +# 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 + +# +# 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} |