mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
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
This commit is contained in:
parent
0fd197f9a8
commit
955c1c173e
@ -4,8 +4,6 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# The RTEMS http git URL.
|
# The RTEMS http git URL.
|
||||||
#
|
|
||||||
%define rtems_version 4.12
|
|
||||||
%define rtems_http_git http://git.rtems.org
|
%define rtems_http_git http://git.rtems.org
|
||||||
%define rtems_git_tools %{rtems_http_git}/rtems-tools/plain/tools/%{rtems_version}
|
%define rtems_git_tools %{rtems_http_git}/rtems-tools/plain/tools/%{rtems_version}
|
||||||
%define bare_binutils_patches %{rtems_git_tools}/binutils
|
%define bare_binutils_patches %{rtems_git_tools}/binutils
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
%include %{_configdir}/base.cfg
|
%include %{_configdir}/base.cfg
|
||||||
|
|
||||||
%define pixman_version 0.32.4
|
%define pixman_version 0.40.0
|
||||||
%hash sha256 pixman-0.32.4.tar.gz 80c7ed420e8a3ae749800241e6347c3d55681296cab71384be7969cd9e657e84
|
%hash sha256 pixman-0.32.4.tar.gz 80c7ed420e8a3ae749800241e6347c3d55681296cab71384be7969cd9e657e84
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
%if %{rsb_released} && %{!defined without_release_url}
|
%if %{rsb_released} && %{!defined without_release_url}
|
||||||
%source set qemu %{rtems_release_url}/%{rtems_version}/sources/qemu-git-42d58e7.tar.xz
|
%source set qemu %{rtems_release_url}/%{rtems_version}/sources/qemu-git-42d58e7.tar.xz
|
||||||
%else
|
%else
|
||||||
%source set qemu git://git.qemu-project.org/qemu.git?pull?checkout=%{qemu_version}?submodule=dtc
|
%source set qemu git://git.qemu-project.org/qemu.git?clean=force?pull?checkout=%{qemu_version}?submodule=dtc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -4,133 +4,6 @@
|
|||||||
# This configuration file configure's, make's and install's QEMU.
|
# This configuration file configure's, make's and install's QEMU.
|
||||||
#
|
#
|
||||||
|
|
||||||
%if %{release} == %{nil}
|
%define qemu_disables --disable-smartcard-nss
|
||||||
%define release 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#
|
%include %{_configdir}/qemu-common-1.cfg
|
||||||
# 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}
|
|
||||||
|
@ -4,132 +4,6 @@
|
|||||||
# This configuration file configure's, make's and install's QEMU.
|
# This configuration file configure's, make's and install's QEMU.
|
||||||
#
|
#
|
||||||
|
|
||||||
%if %{release} == %{nil}
|
%define qemu_disables --disable-nettle
|
||||||
%define release 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#
|
%include %{_configdir}/qemu-common-1.cfg
|
||||||
# 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}
|
|
||||||
|
135
source-builder/config/qemu-common-1.cfg
Normal file
135
source-builder/config/qemu-common-1.cfg
Normal file
@ -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}
|
Loading…
x
Reference in New Issue
Block a user