summaryrefslogblamecommitdiffstats
path: root/rtems/config/rtems-bsp.cfg
blob: 28d250f002b0f8a414de979e0eeec4726718894a (plain) (tree)
1
2
3
4
5
6
7
8
9




                   


                                                                               
 


                                                                             

 











                                                                            




                                                                            


                              



                                                                               


                          
                              


      




                             





















                                                                          
                                                       


                                                                          
                                  
                                              

      
 




















                                                          








                                          
#
# RTEMS BSP Support
#

#
# The RTEMS BSP support requires the host turple, the RTEMS BSP and the path to
# the tools. The prefix is set to an installed RTEMS. The built package is
# installed into the prefix.
#
# Keeping the package's installed path in the RTEMS install path and separate
# to the tools lets the tools version vary independently. If --rtems-tools
# (--with-tools) is not provided use the prefix.
#

#
# If a dry-run and with download ignore errors and correct setting for tools
# and BSPs. Only after the source to download.
#
%if %{_dry_run} && %{defined with_download}
 %log BSP configuration errors ignored
 %define rtems_bsp_error 0
%else
 %define rtems_bsp_error 1
%endif

%if %{_target} == %{nil} && %{rtems_bsp_error}
 %error No RTEMS target specified: --rtems-bsp=arch/bsp (or --target=target)
%endif

%if %{_host} != %{_build}
 %error Canadian cross building for BSP is not supported.
%endif

%ifn %{defined with_rtems_bsp}
 %if %{rtems_bsp_error}
  %error No RTEMS BSP specified: --rtems-bsp=arch/bsp (or --with-rtems-bsp=bsp)
 %endif
 %define with_rtems_bsp sparc/erc32
%endif

%ifn %{defined with_tools}
 %define with_tools %{_prefix}
%endif

#
# Set the host to the target.
#
%define _host %{_target}

#
# Set the path to the tools.
#
%{path prepend %{with_tools}/bin}

#
# Set up how we manage pkgconfig. Set the prefix path to the RTEMS prefix,
# enable support when crosscompiling, and filter specific optimisation and
# warning from the flags that RTEMS exports.
#
%{pkgconfig prefix %{_prefix}/lib/pkgconfig}
%{pkgconfig crosscompile yes}
%{pkgconfig filter-flags yes}

#
# The RTEMS BSP Flags
#
%define rtems_bsp           %{with_rtems_bsp}
%define rtems_bsp_ccflags   %{pkgconfig ccflags %{_host}-%{rtems_bsp}}
%define rtems_bsp_cflags    %{pkgconfig cflags  %{_host}-%{rtems_bsp}}
%define rtems_bsp_ldflags   %{pkgconfig ldflags %{_host}-%{rtems_bsp}}
%define rtems_bsp_libs      %{pkgconfig libs    %{_host}-%{rtems_bsp}}

%if %{rtems_bsp_cflags} == %{nil} && %{rtems_bsp_error}
 %error No RTEMS target CFLAGS found; Please check the --rtems-bsp option.
%endif

%if %{rtems_bsp_ccflags} == %{nil}
 %define rtems_bsp_ccflags %{rtems_bsp_cflags}
%endif

#
# Update the configure paths to be BSP specific.
#
%define rtems_bsp_prefix  %{_prefix}/%{_host}/%{rtems_bsp}
%define _exec_prefix      %{rtems_bsp_prefix}
%define _bindir           %{_exec_prefix}/bin
%define _sbindir          %{_exec_prefix}/sbin
%define _libexecdir       %{_exec_prefix}/libexec
%define _datarootdir      %{_exec_prefix}/share
%define _datadir          %{_datarootdir}
%define _sysconfdir       %{_exec_prefix}/etc
%define _sharedstatedir   %{_exec_prefix}/com
%define _localstatedir    %{_exec_prefix}/var
%define _includedir       %{_libdir}/include
%define _lib              lib
%define _libdir           %{_exec_prefix}/%{_lib}
%define _libexecdir       %{_exec_prefix}/libexec
%define _mandir           %{_datarootdir}/man
%define _infodir          %{_datarootdir}/info
%define _localedir        %{_datarootdir}/locale
%define _localedir        %{_datadir}/locale
%define _localstatedir    %{_exec_prefix}/var

#
# Map to names used for cross compiling.
#
%define host_includes -I%{_includedir}
%define host_cflags   %{rtems_bsp_cflags}
%define host_cxxflags %{rtems_bsp_ccflags}
%define host_ldflags  %{rtems_bsp_ldflags}
%define host_libs     %{rtems_bsp_libs}