summaryrefslogtreecommitdiffstats
path: root/source-builder/config/qemu-1-1.cfg
blob: 178cb5cae189f62a69c46db5fa93f3651a0bbbcf (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
135
136
#
# QEMU 1.x.x Version 1.
#
# This configuration file configure's, make's and install's QEMU.
#

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

#
# Select Snapshot Macro Maps
#
%select qemu-snapshot

#
# The description.
#
Name:      qemu-%{qemu_version}-%{_host}-%{release}
Summary:   Qemu is a simulator of various processors.
Version:   %{qemu_version}
Release:   %{release}
URL: 	   http://www.qemu.org/

#
# Source
#
%source set qemu http://wiki.qemu-project.org/download/qemu-%{qemu_version}.tar.bz2


#
# QEMU Disable component list.
#
# We are not interested in the VM use case for qemu and most of that
# functionality carries host platform baggage which complicates building on a
# range of host platforms.
#
# You can specialise before including this config file.
#
#
%define qemu_std_disables --disable-werror
%define qemu_std_disables %{qemu_std_disables} --disable-smartcard-nss
%define qemu_std_disables %{qemu_std_disables} --disable-tools
%define qemu_std_disables %{qemu_std_disables} --disable-pie
%define qemu_std_disables %{qemu_std_disables} --disable-vnc
%define qemu_std_disables %{qemu_std_disables} --disable-sdl
%define qemu_std_disables %{qemu_std_disables} --disable-gtk
%define qemu_std_disables %{qemu_std_disables} --disable-opengl
%define qemu_std_disables %{qemu_std_disables} --disable-netmap
%ifn %{defined qemu_disables}
 %define qemu_disables %{nil}
%endif
%define qemu_disables %{qemu_std_disables} %{qemu_disables}

#
# QEMU Targets to build.
#
%if %{!defined qemu_archs} && %{!defined with_qemu_archs}
 %define qemu_target_list %{nil}
%else
 %if %{defined with_qemu_archs}
  %define qemu_target_list --target-list=%{with_qemu_archs}
 %else
  %define qemu_target_list --target-list=%{qemu_archs}
 %endif
%endif

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

  source_dir_qemu="qemu-%{qemu_version}"
  %source setup qemu -q -n qemu-%{qemu_version}
  %patch setup qemu -p1

  cd ${build_top}

%build
  build_top=$(pwd)

  %{build_directory}

  mkdir -p ${build_dir}
  cd ${build_dir}

  %if %{pkgconfig check vdeplug}
    VDE_CONFIG="--enable-vde"
    VDE_CFLAGS="%{pkgconfig cflags vdeplug}"
    VDE_LDFLAGS="%{pkgconfig ldflags vdeplug} %{pkgconfig libs vdeplug}"
  %endif

  %{host_build_flags}

  if test "%{_build}" != "%{_host}" ; then
    CROSS_PREFIX_OPTION="--cross-prefix=%{_host}-"
  fi

  SYSROOT=$SB_TMPPREFIX

  #
  # The --extra-cflags and --extra-ldflags do not work as expected.
  #
  # Hack warning: MSYS2 does not seem to convert the path to
  #               a shell path from Windows so we keep them
  #               separate and handle it in the pkgconfig tool.
  #
  PKG_CONFIG_DEFAULT_PATH=${PKG_CONFIG_PATH} \
  PKG_CONFIG_PATH=$SYSROOT/lib/pkgconfig \
  PKG_CONFIG_BUILD_TOP_DIR=$SB_TMPROOT \
  %{_ld_library_path}=$SYSROOT/lib \
  LDFLAGS="-Wl,-rpath -Wl,/$SB_PREFIX_CLEAN/lib -L$SYSROOT/lib ${VDE_LDFLAGS}" \
  CFLAGS="${CFLAGS} ${VDE_CFLAGS}" \
  ../${source_dir_qemu}/configure \
    --prefix=%{_prefix} \
    ${CROSS_PREFIX_OPTION} \
    --make=%{__make} \
    %{qemu_target_list} \
    ${VDE_CONFIG} \
    %{qemu_disables}

  %{_ld_library_path}=$SYSROOT/lib \
  %{__make} %{?_smp_mflags} all

  cd ${build_top}

%install
  build_top=$(pwd)

  %{__rmdir} $SB_BUILD_ROOT

  cd ${build_dir}
  %{_ld_library_path}=$SYSROOT/lib \
  %{__make} DESTDIR=$SB_BUILD_ROOT install
  cd ${build_top}