summaryrefslogtreecommitdiffstats
path: root/rtems/config/tools/rtems-libbsd-common.cfg
blob: f9d57b041003601baf9d165bdc243969e502112d (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
#
# RTEMS LibBSD
#
# This configuration file configure's, build's and install's libbsd.a.
#

%if %{release} == %{nil}
%define release 1
%endif

Name:      rtems-libbsd-%{rtems_libbsd_version}-%{_host}-%{release}
Summary:   RTEMS LibBSD provides libbsd, a FreeBSD kernel set of
           services for RTEMS.
Version:   %{rtems_libbsd_version}
Release:   %{release}
URL:       https://git.rtems.org/rtems-libbsd.git/

#
# LibBSD is packaged as the release version when released.
#
%if %{rsb_released}
 %define rtems_libbsd_version %{rsb_version}
 %define rtems_libbsd_ext xz
%else
 %define rtems_libbsd_ext bz2
%endif

#
# RTEMS BSP support.
#
%include rtems-bsp.cfg

#
# LibBSD Source.
#
#  If not a release collect and install rtems_waf as cgit snapshots to not
#  capture submodules, which is a good thing because we would collect the entire
#  FreeBSD source.
#
#  Releases package submodules in the top level tarfile.
#
%source set rtems_libbsd \
      https://git.rtems.org/rtems-libbsd/snapshot/rtems-libbsd-%{rtems_libbsd_version}.tar.%{rtems_libbsd_ext}
%if !%{rsb_released}
 %source set rtems_waf \
       https://git.rtems.org/rtems_waf/snapshot/rtems_waf-%{rtems_waf_version}.tar.%{rtems_libbsd_ext}
%endif

#
# Prepare the source code.
#
%prep
  build_top=$(pwd)

  source_dir_libbsd="rtems-libbsd-%{rtems_libbsd_version}"
  %source setup rtems_libbsd -q -n rtems-libbsd-%{rtems_libbsd_version}
  %if !%{rsb_released}
   %source setup rtems_waf -q -s 1 -c -a -n rtems-libbsd-%{rtems_libbsd_version}/rtems_waf
  %endif
  cd ${build_top}

#
# Build the source code.
#
%build
  build_top=$(pwd)

  %{host_build_flags}

  cd ${source_dir_libbsd}

  ./waf distclean configure \
    --prefix=%{_prefix} \
    %{rtems_waf_tools} \
    %{rtems_waf_rtems} \
    --rtems-bsp=%{rtems_bsp_arch_bsp}

  ./waf build

  cd ${build_top}

%install
  build_top=$(pwd)

  %{__rmdir} ${SB_BUILD_ROOT}

  cd ${source_dir_libbsd}
  ./waf --destdir=$SB_BUILD_ROOT%{rtems_waf_build_root_suffix} install
  cd ${build_top}