blob: d6c1f5b82b552f07588e48138039c590f407636c (
plain) (
tree)
|
|
#
# RTEMS 4.xx Version 1.
#
# This configuration file configure's, make's and install's RTEMS.
#
%include %{_configdir}/checks.cfg
Name: %{_target}-kernel-%{rtems_kernel_version}-%{release}
Summary: RTEMS v%{rtems_kernel_version} for target %{_target} on host %{_host}
Version: %{rtems_kernel_version}
Release: %{release}
URL: http://www.rtems.org/
BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
#
# Source
#
%if %{rsb_released}
%if ! %{defined rtems_kernel_compression}
%define rtems_kernel_compression xz
%endif
%source set rtems %{rtems_release_url}/%{rtems_kernel_version}/rtems-%{rtems_kernel_version}.tar.%{rtems_kernel_compression}
%define rtems_bootstrap 0
%else
%if ! %{defined rtems_kernel_version}
%define rtems_kernel_version HEAD
%endif
%if %{defined rtems_kernel_git_commit_hash}
%define rtems_kernel_git_checkout ?checkout=%{defined rtems_kernel_git_commit_hash}
%else
%define rtems_kernel_git_checkout %{nil}
%endif
%source set rtems git://git.rtems.org/rtems.git?reset=hard?branch=%{rtems_kernel_version}?pull%{rtems_kernel_git_checkout}
#
# The code in git needs to be bootstrapped. Do each build because we have
# no way to change what changes may have happened in the code.
#
%define rtems_bootstrap 1
%endif
#
# If C++ defined for the tool set use it to control RTEMS's setting..
#
%if %{defined enable_cxx}
%define rtems_cxx %{enable_cxx}
%endif
#
# Default set up.
#
%ifn %{defined rtems_posix}
%define rtems_posix 1
%endif
%ifn %{defined rtems_networking}
%define rtems_networking 1
%endif
%ifn %{defined rtems_cxx}
%define rtems_cxx 1
%endif
%ifn %{defined rtems_tests}
%define rtems_tests samples
%endif
%if %{rtems_tests} == disable
%define rtems_tests_opt --disable-tests
%else
%define rtems_tests_opt --enable-tests=%{rtems_tests}
%endif
#
# It the rtems_bsps is all undefine it
#
%if %{defined rtems_bsps}
%if %{rtems_bsps} == all
%undefine rtems_bsps
%endif
%endif
#
# Prepare the source code.
#
%prep
source_dir_rtems="rtems-%{rtems_kernel_version}"
%source setup rtems -q -c -n %{name}-%{version}
cd ${source_dir_rtems}
%patch setup rtems -p1
%if %{rtems_bootstrap}
%if %{defined _internal_autotools_path}
export PATH="%{_internal_autotools_path}/bin:${PATH}"
%endif
./bootstrap -c
%{_sbdir}/sb-bootstrap --preinstall
%{_sbdir}/sb-bootstrap
%endif
cd ..
%build
# Build directory support.
if test "%{_build}" != "%{_host}" ; then
build_dir="build-cxc"
else
build_dir="build"
fi
mkdir -p ${build_dir}
cd ${build_dir}
../${source_dir_rtems}/configure \
--build=%{_build} --host=%{_host} \
--target=%{_target} \
%{?rtems_posix:--enable-posix}%{!?rtems_posix:--disable-posix} \
%{?rtems_networking:--enable-networking}%{!?rtems_networking:--disable-networking} \
%{?rtems_cxx:--enable-cxx}%{!?rtems_cxx:--disable-cxx} \
%{rtems_tests_opt} \
%{?rtems_bsps:--enable-rtemsbsp=%{rtems_bsps}} \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
%{__make} %{?_smp_mflags} all
cd ..
%install
%{__rmdir} $SB_BUILD_ROOT
cd ${build_dir}
%{__make} DESTDIR=$SB_BUILD_ROOT install
cd ..
%testing
|