summaryrefslogblamecommitdiffstats
path: root/rtems/config/tools/rtems-kernel-4-1.cfg
blob: 35386b8f522631609920358eee770227bf0b780b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11





                                                                  




                                              
 


                  



                                                                                
                                


                                                   

                                                                              
 
                         
                             
     

























                                                                           
       







                                           

                                                                                                      
                           
      




                                                                           
 









                                                                                                                              

       
  




                                                                      
 














                                 
 




                                                       
 





































































                                                                                         
 
      
#
# RTEMS 4.xx Version 1.
#
# This configuration file configure's, make's and install's RTEMS.
#

%if %{rsb_released}
 %define rtems_kernel_version %{rsb_version}
%else
 %define rtems_kernel_version %{rtems_version}
%endif

#
# Package details.
#
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)

#
# Build if the RSB is released or optionally enable/disable building the RTEMS
# kernel via the command line.
#
%if %{defined with_rtems}
 %define rtems_kernel_build 1
%else
 %define rtems_kernel_build 0
%endif
%if %{defined without_rtems}
 %define rtems_kernel_build 0
%endif

%if %{rtems_kernel_build}
 %include %{_configdir}/checks.cfg
 %include %{_configdir}/base.cfg
 %include %{_configdir}/versions.cfg

 #
 # 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}

 #
 # Check the version of autoconf. Check autoreconf as it is used.
 #
 %if %{__autoreconf_ver} <= 2.68
  %if %{__autoreconf_bindir_ver} <= 2.68
   %if %{__autoreconf_path_ver} <= 2.68
    %error Autoconf (autoreconf) version 2.69 or higher is needed.
   %endif
  %endif
 %endif

 #
 # Source
 #
 %if %{rsb_released}
  %if ! %{defined rtems_kernel_compression}
   %define rtems_kernel_compression xz
  %endif
  %define rtems_kernel_version %{rsb_version}
  %source set rtems %{rtems_release_url}/rtems-%{rtems_kernel_version}.tar.%{rtems_kernel_compression}
  %define rtems_bootstrap 0
 %else
  #
  # 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

  %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} #
 %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

 #
 # Check the various --with/--without options we support.
 #
 # --with-rtemsbsp   : Supported, list of BSPs
 # --without-rtemsbsp: Not supported
 # --with-tests      : Supported, samples/yes/no
 # --without-tests   : Not supported
 # --with-smp        : Supported
 # --without-smp     : Not care
 #
 #
 %if %{defined without_rtemsbsp}
  %error Option --without-rtemsbsp is not supported.
 %endif
 %if %{defined without_rtems_tests}
  %define with_rtems_tests no
 %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} \
     %{?with_rtems_tests:--enable-tests=%{with_rtems_tests}} \
     %{?with_rtemsbsp:--enable-rtemsbsp="%{with_rtemsbsp}"} \
     %{?with_rtems_smp:--enable-smp} \
     --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 ..

%endif