summaryrefslogtreecommitdiffstats
path: root/rtems/config/tools/rtems-kernel-4-1.cfg
blob: d6c1f5b82b552f07588e48138039c590f407636c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#
# 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