Update build-config for mobile branch from OBS
[scm/meta/build-config.git] / build-arm-x11.conf
1 %define _project Tizen:Mobile
2
3 ### from Tizen:Mobile
4 %define _repository arm-x11
5
6 Macros:
7 %vendor obs://build.tizen.org/Tizen:Mobile
8 %_project Tizen:Mobile
9
10 %distribution Tizen:Mobile / arm-x11
11 %_project Tizen:Mobile
12
13 ### from Tizen:Mobile
14
15 %_repository arm-x11
16 :Macros
17
18 ################################################################################
19 # OBS Project config for Tizen:Mobile
20 #
21 # RE contacts:
22 # Joonsub Lee <joon-sub.lee@samsung.com>
23 #
24 # vim: set syntax=spec:
25 ################################################################################
26
27 Patterntype: rpm-md comps
28 Release: <CI_CNT>.<B_CNT>
29 Support: build
30 Support: build-compare build-mkbaselibs
31 Support: rpmlint-mini rpmlint-tizen
32
33 ############################# conflicts resolution #############################
34
35 FileProvides: /usr/sbin/groupadd pwdutils
36 Prefer: util-linux
37 Prefer: libtapi-devel
38 Prefer: libpci-devel
39
40 ############################# profile definition ###############################
41
42 %define profile mobile
43 %define _with_tizen 1
44
45 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
46
47 Macros:
48 %profile mobile
49 %release_name Tizen3/Mobile
50
51 %tizen_version_major 3
52 %tizen_version_minor 0
53 %tizen_version_patch 0
54
55 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
56 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
57 %tizen %tizen_version
58 %vendor tizen
59 %_vendor tizen
60 %_with_tizen 1
61
62 %check exit 0
63 %run_check_section 0
64 %opensuse_bs 1
65 %_default_patch_fuzz   2
66 :Macros
67
68 ############################# display system ###################################
69
70 ########## display system selection ##########
71
72 # selection of the display system
73 # this selection is done for each repository
74 #
75 # flags combinations:
76 # |----------------------------------------------------
77 # | wayland |  x  | meaning
78 # |----------------------------------------------------
79 # |         |  1  | pure X11 platform(no wayland)
80 # |   1     |     | pure wayland platform (no X11)
81 # |   1     |  1  | wayland but X compatibility
82 # |         |     | no X and no wayland
83 # |----------------------------------------------------
84 #
85 # Owner: Stephane <stephane.desneux@open.eurogiciel.org>
86
87 ########## RDP flag ##########
88
89 # enable/disable RDP (remote desktop protocol) for wayland
90 # flag: _with_rdp, used in repositories
91 # Affects: weston, freerdp
92 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
93
94 ########## mesa activation ##########
95
96 %define _with_mesa 1
97 Macros:
98 %_with_mesa 1
99 :Macros
100
101 %ifarch %arm armv7l %{aarch64}
102    Substitute: mesa-devel pkgconfig(glesv2)
103    #FIXME Substitute: pkgconfig(egl)
104 %endif
105
106 ############################# X11 repositories #################################
107
108 %if "%_repository" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11"
109 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
110 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
111
112 %define _with_x 1
113
114 Macros:
115 %_with_x 1
116 :Macros
117
118 %endif
119
120
121 ############################# misc config flags ################################
122
123 # This build macro controls the libdlog output. If enabled,
124 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
125 # logger FIFO. Affects: dlog.
126 # Owner: Mikko <mikko.ylinen@intel.com>
127 Macros:
128 %_with_dlog_to_systemd_journal 1
129 :Macros
130
131 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
132 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
133 # Then homescreen is supposed to deal with those notifications and display relevant popups.
134 # Affects: bluetooth-frwk
135 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
136 Macros:
137 %_with_bluetooth_frwk_libnotification 1
138 :Macros
139
140 # This build macro controls whether the OS uses
141 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
142 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
143 # Owner: Arron Wang <arron.wang@intel.com>
144 Macros:
145 %_with_neard_nfc 1
146 :Macros
147
148 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
149 # this -> Tizen Mobile is compiled with this option.
150 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
151 # FIXME: Why this extra define in the obs config ?
152 %define _with_pulseaudio_samsung_policy 1
153 Macros:
154 %_with_pulseaudio_samsung_policy 1
155 :Macros
156
157 # Activate introspection
158 # This is needed on GuPNP to build Rygel correctly in IVI
159 # Impacts potentially packages that use gobject-introspection
160 # Owner: Mikko <mikko.ylinen@intel.com>
161 Macros:
162 %_with_introspection 1
163 :Macros
164
165 ############################# build config #####################################
166
167 %define gcc_version 49
168 Macros:
169 %gcc_version 49
170 :Macros
171
172 ########## targets ##########
173
174 %ifarch i586
175 Target: i686-tizen-linux
176 %endif
177
178 %ifarch armv7hl
179 Target: armv7hl-tizen-linux
180 %endif
181
182 %ifarch armv7l
183 Target: armv7l-tizen-linux
184 %endif
185
186 %ifarch aarch64
187 Target: aarch64-tizen-linux
188 %endif
189
190 ########## cross build ##########/ex
191
192 %ifarch %arm armv7l
193 Hostarch: x86_64
194 # cross build support for the build hosts
195 Preinstall: qemu-linux-user-cross-arm
196 Keep: qemu-linux-user-cross-arm
197 %endif
198
199 %ifarch armv7hl
200 Preinstall: qemu-accel-armv7hl
201 Runscripts: qemu-accel-armv7hl
202 Preinstall: libmount libblkid libuuid
203 %endif
204
205 %ifarch armv7l
206 Preinstall: qemu-accel-armv7l-cross-arm
207 Runscripts: qemu-accel-armv7l-cross-arm
208 Preinstall: libmount libblkid libuuid
209 %endif
210
211 %ifarch aarch64
212 Hostarch: x86_64
213 Preinstall: qemu-accel-aarch64-cross-aarch64
214 Runscripts: qemu-accel-aarch64-cross-aarch64
215 Preinstall: libmount libblkid libuuid
216 %endif
217
218 ########## exports for different architectures ##########
219
220 ExportFilter: ^qemu-linux-user.*\..*\.rpm$ . armv7l armv7hl aarch64
221
222 ExportFilter: ^qemu-accel-armv7hl.*\..*\.rpm$ .  armv7hl
223 ExportFilter: ^qemu-accel-armv7l.*\..*\.rpm$ .  armv7l
224 ExportFilter: ^qemu-accel-aarch64.*\..*\.rpm$ .  aarch64
225
226 ExportFilter: \.armv7l\.rpm$ armv7l
227 ExportFilter: \.aarch64\.rpm$ aarch64
228 ExportFilter: \.x86_64\.rpm$ x86_64
229
230 ########## buildroot config ##########
231
232 Preinstall: setup filesystem
233 RunScripts: setup
234
235 Preinstall: bash bzip2 coreutils diffutils grep rpm
236 Preinstall: glibc libacl libattr
237 Preinstall: libcap
238 Preinstall: libgcc_s1
239 Preinstall: libpopt sed tar zlib
240 Preinstall: libncurses libreadline
241 Preinstall: libelf libbz2
242 Preinstall: liblzma
243 Preinstall: nss nspr libfreebl3 libsoftokn3
244 Preinstall: libmagic
245 Preinstall: liblua
246 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
247 Preinstall: libsqlite
248 Preinstall: rpm-security-plugin
249 Preinstall: util-linux
250
251 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux
252
253 Required: binutils gcc glibc rpm-build libtool
254
255 Support: glibc-locale
256 Support: perl
257 Support: hostname
258 Support: cpio findutils
259 Support: file findutils zlib bzip2
260 Support: gzip hostname net-tools
261 Support: make  patch sed  gawk tar grep coreutils pkg-config
262 Support: m4  tzdata
263 Support: util-linux
264 Support: less
265 Support: which  elfutils
266 Support: update-alternatives
267
268 # FIXME: TO REMOVE (? comes from IVI)
269 Support: gcc-c++
270
271 Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
272 Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
273 Keep: cpp gcc libstdc++
274 Keep: pam
275 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
276 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
277 Keep: make  gmp libcap groff cpio
278 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
279 Keep: kernel-headers  perl-libs perl
280 Keep: pkgconfig glib2 tizen-rpm-config
281 Keep: libmpc libmpfr libppl libgmp libppl_c
282 Keep: libcloog libppl libgmpxx
283 Keep: nss-softokn-freebl libmagic libmagic-data
284 Keep: setup
285 Keep: update-alternatives
286 Prefer: libstdc++%{gcc_version} libgcc%{gcc_version}
287 Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
288
289 Substitute: gettext gettext-tools
290
291 %ifarch x86_64
292 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
293 %else
294 Substitute: glibc-devel-32bit
295 %endif
296
297 ########## compilation flags ##########
298 Optflags: armv7l -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  --param=ssp-buffer-size=32 -Wformat -Wformat-security -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian  -mfpu=neon -mfloat-abi=softfp -Wp,-D__SOFTFP__
299 Optflags: aarch64 -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  -Wformat -Wformat-security -fmessage-length=0