tizen-4.0-unified_20180418.2
[scm/meta/build-config.git] / 4.0 / unified / emulator_build.conf
1 %define _project Tizen:4.0:Unified
2
3 ### from Tizen:4.0:Base
4 %define _repository x86_64
5
6 Macros:
7 %vendor obs://private/Tizen:4.0:Unified
8 %_project Tizen:4.0:Unified
9
10 ### from Tizen:4.0:Base
11
12 %_repository x86_64
13 :Macros
14
15 ################################################################################
16 # OBS Project config for Tizen:4.0:Base
17 #
18 # RE contacts:
19 #
20 #
21 # vim: set syntax=spec:
22 ################################################################################
23
24 Patterntype: rpm-md comps
25 Release: <CI_CNT>.<B_CNT>
26 Support: build
27 Support: build-compare build-mkbaselibs
28 # Support: rpmlint-mini rpmlint-tizen
29
30 ############################# conflicts resolution #############################
31
32 Prefer: util-linux
33 Prefer: mono-wcf
34 Prefer: monodoc
35 Prefer: mono-extras
36 Prefer: mono-web
37 Prefer: mono-data
38 Prefer: mono-mvc
39 Prefer: mono-winforms
40 Prefer: mono-data-sqlite
41
42 # Set a preference for ambiguous libs to use *-64bit libs
43 #     *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx)
44 #     But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository.
45 #     e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one.
46 #     Owner : Jiyoung Yun (jy910.yun@samsung.com)
47 Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl
48
49 ############################# base definition ###############################
50
51 Macros:
52 %vendor tizen
53 %_vendor tizen
54 %_with_tizen 1
55
56 %__spec_check_pre exit 0
57 %run_check_section 0
58 %opensuse_bs 1
59 %_default_patch_fuzz   2
60
61 %_binary_payload w5T.xzdio
62 :Macros
63
64
65 ############################# build config #####################################
66
67 %define gcc_version 62
68 Macros:
69 %gcc_version 62
70 :Macros
71
72 ########## targets ##########
73
74 %ifarch i586
75 Target: i686-tizen-linux
76 %endif
77
78 %ifarch armv7hl
79 Target: armv7hl-tizen-linux
80 %endif
81
82 %ifarch armv7l
83 Target: armv7l-tizen-linux
84 %endif
85
86 %ifarch aarch64
87 Target: aarch64-tizen-linux
88 %endif
89
90 ########## cross build ##########
91
92 %define build_hostarch x86_64
93 Macros:
94 %build_hostarch x86_64
95 :Macros
96
97 %ifarch %arm armv7l aarch64
98 Hostarch: x86_64
99 # cross build support for the build hosts
100 Preinstall: qemu-linux-user-%{build_hostarch}-cross
101 Runscripts: qemu-linux-user-%{build_hostarch}-cross
102 Keep: qemu-linux-user-%{build_hostarch}-cross
103 %endif
104
105 %ifarch armv7l
106 Preinstall: qemu-accel-%{build_hostarch}-armv7l
107 Runscripts: qemu-accel-%{build_hostarch}-armv7l
108 Preinstall: libmount libblkid libuuid
109 %endif
110
111 %ifarch aarch64
112 Preinstall: qemu-accel-%{build_hostarch}-aarch64
113 Runscripts: qemu-accel-%{build_hostarch}-aarch64
114 Preinstall: libmount libblkid libuuid
115 %endif # aarch64
116
117 Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l
118 Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64
119
120 Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l
121 Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64
122
123 ########## exports for different architectures ##########
124
125 ExportFilter: \.armv7l\.rpm$ armv7l
126 ExportFilter: \.aarch64\.rpm$ aarch64
127 ExportFilter: \.i586\.rpm$ i586
128 ExportFilter: \.x86_64\.rpm$ x86_64
129
130 ########## buildroot config ##########
131
132 Preinstall: setup filesystem
133 RunScripts: setup
134
135 Preinstall: bash bzip2 coreutils diffutils grep rpm
136 Preinstall: glibc libacl libattr
137 Preinstall: libcap
138 Preinstall: libgcc
139 Preinstall: libpopt sed tar zlib
140 Preinstall: libncurses libreadline
141 Preinstall: libelf libbz2
142 Preinstall: liblzma
143 Preinstall: nss nspr libfreebl3 libsoftokn3
144 Preinstall: libmagic
145 Preinstall: liblua
146 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
147 Preinstall: libsqlite
148 #Preinstall: rpm-security-plugin
149 Preinstall: util-linux util-linux-su
150
151 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux libsmartcols procps-ng
152
153 Required: binutils gcc glibc rpm-build libtool
154 Required: gcc-c++
155
156 Support: glibc-locale
157 Support: perl
158 Support: hostname
159 Support: cpio findutils
160 Support: file findutils zlib bzip2
161 Support: gzip hostname net-tools
162 Support: make  patch sed  gawk tar grep coreutils pkg-config
163 Support: m4  tzdata
164 Support: util-linux
165 Support: less
166 Support: which  elfutils
167 Support: update-alternatives
168 Support: libstdc++-devel
169 Support: cpp
170 Support: libatomic
171 Support: libgomp
172 Support: libitm
173
174 Keep: libstdc++-devel
175 Keep: cpp gcc libstdc++
176 Keep: pam
177 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
178 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
179 Keep: make  gmp libcap groff cpio
180 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
181 Keep: kernel-headers  perl-libs perl
182 Keep: pkgconfig glib2 tizen-rpm-config
183 Keep: libmpc libmpfr libppl libgmp libppl_c
184 Keep: libcloog libppl libgmpxx
185 Keep: nss-softokn-freebl libmagic libmagic-data
186 Keep: setup
187 Keep: update-alternatives
188 Keep: cpp
189 Keep: gcc-c++
190 Keep: libatomic
191 Keep: libgomp
192 Keep: libitm
193
194 Substitute: gettext gettext-tools
195
196 %ifarch x86_64
197 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
198 Substitute: libgcc_s1-32bit libgcc-32bit
199 %else
200 Substitute: glibc-devel-32bit
201 %endif
202
203 ########## compilation flags ##########
204 %define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security -fmessage-length=0 -Wl,--as-needed
205
206 Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb
207 Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53
208 Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
209 Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
210 ### from Tizen:4.0:Base
211 %define _repository ia32
212
213 Macros:
214
215 ### from Tizen:4.0:Base
216
217 %_repository ia32
218 :Macros
219
220 ################################################################################
221 # OBS Project config for Tizen:4.0:Base
222 #
223 # RE contacts:
224 #
225 #
226 # vim: set syntax=spec:
227 ################################################################################
228
229 Patterntype: rpm-md comps
230 Release: <CI_CNT>.<B_CNT>
231 Support: build
232 Support: build-compare build-mkbaselibs
233 # Support: rpmlint-mini rpmlint-tizen
234
235 ############################# conflicts resolution #############################
236
237 Prefer: util-linux
238 Prefer: mono-wcf
239 Prefer: monodoc
240 Prefer: mono-extras
241 Prefer: mono-web
242 Prefer: mono-data
243 Prefer: mono-mvc
244 Prefer: mono-winforms
245 Prefer: mono-data-sqlite
246
247 # Set a preference for ambiguous libs to use *-64bit libs
248 #     *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx)
249 #     But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository.
250 #     e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one.
251 #     Owner : Jiyoung Yun (jy910.yun@samsung.com)
252 Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl
253
254 ############################# base definition ###############################
255
256 Macros:
257 %vendor tizen
258 %_vendor tizen
259 %_with_tizen 1
260
261 %__spec_check_pre exit 0
262 %run_check_section 0
263 %opensuse_bs 1
264 %_default_patch_fuzz   2
265
266 %_binary_payload w5T.xzdio
267 :Macros
268
269
270 ############################# build config #####################################
271
272 %define gcc_version 62
273 Macros:
274 %gcc_version 62
275 :Macros
276
277 ########## targets ##########
278
279 %ifarch i586
280 Target: i686-tizen-linux
281 %endif
282
283 %ifarch armv7hl
284 Target: armv7hl-tizen-linux
285 %endif
286
287 %ifarch armv7l
288 Target: armv7l-tizen-linux
289 %endif
290
291 %ifarch aarch64
292 Target: aarch64-tizen-linux
293 %endif
294
295 ########## cross build ##########
296
297 %define build_hostarch x86_64
298 Macros:
299 %build_hostarch x86_64
300 :Macros
301
302 %ifarch %arm armv7l aarch64
303 Hostarch: x86_64
304 # cross build support for the build hosts
305 Preinstall: qemu-linux-user-%{build_hostarch}-cross
306 Runscripts: qemu-linux-user-%{build_hostarch}-cross
307 Keep: qemu-linux-user-%{build_hostarch}-cross
308 %endif
309
310 %ifarch armv7l
311 Preinstall: qemu-accel-%{build_hostarch}-armv7l
312 Runscripts: qemu-accel-%{build_hostarch}-armv7l
313 Preinstall: libmount libblkid libuuid
314 %endif
315
316 %ifarch aarch64
317 Preinstall: qemu-accel-%{build_hostarch}-aarch64
318 Runscripts: qemu-accel-%{build_hostarch}-aarch64
319 Preinstall: libmount libblkid libuuid
320 %endif # aarch64
321
322 Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l
323 Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64
324
325 Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l
326 Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64
327
328 ########## exports for different architectures ##########
329
330 ExportFilter: \.armv7l\.rpm$ armv7l
331 ExportFilter: \.aarch64\.rpm$ aarch64
332 ExportFilter: \.i586\.rpm$ i586
333 ExportFilter: \.x86_64\.rpm$ x86_64
334
335 ########## buildroot config ##########
336
337 Preinstall: setup filesystem
338 RunScripts: setup
339
340 Preinstall: bash bzip2 coreutils diffutils grep rpm
341 Preinstall: glibc libacl libattr
342 Preinstall: libcap
343 Preinstall: libgcc
344 Preinstall: libpopt sed tar zlib
345 Preinstall: libncurses libreadline
346 Preinstall: libelf libbz2
347 Preinstall: liblzma
348 Preinstall: nss nspr libfreebl3 libsoftokn3
349 Preinstall: libmagic
350 Preinstall: liblua
351 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
352 Preinstall: libsqlite
353 #Preinstall: rpm-security-plugin
354 Preinstall: util-linux util-linux-su
355
356 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux libsmartcols procps-ng
357
358 Required: binutils gcc glibc rpm-build libtool
359 Required: gcc-c++
360
361 Support: glibc-locale
362 Support: perl
363 Support: hostname
364 Support: cpio findutils
365 Support: file findutils zlib bzip2
366 Support: gzip hostname net-tools
367 Support: make  patch sed  gawk tar grep coreutils pkg-config
368 Support: m4  tzdata
369 Support: util-linux
370 Support: less
371 Support: which  elfutils
372 Support: update-alternatives
373 Support: libstdc++-devel
374 Support: cpp
375 Support: libatomic
376 Support: libgomp
377 Support: libitm
378
379 Keep: libstdc++-devel
380 Keep: cpp gcc libstdc++
381 Keep: pam
382 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
383 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
384 Keep: make  gmp libcap groff cpio
385 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
386 Keep: kernel-headers  perl-libs perl
387 Keep: pkgconfig glib2 tizen-rpm-config
388 Keep: libmpc libmpfr libppl libgmp libppl_c
389 Keep: libcloog libppl libgmpxx
390 Keep: nss-softokn-freebl libmagic libmagic-data
391 Keep: setup
392 Keep: update-alternatives
393 Keep: cpp
394 Keep: gcc-c++
395 Keep: libatomic
396 Keep: libgomp
397 Keep: libitm
398
399 Substitute: gettext gettext-tools
400
401 %ifarch x86_64
402 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
403 Substitute: libgcc_s1-32bit libgcc-32bit
404 %else
405 Substitute: glibc-devel-32bit
406 %endif
407
408 ########## compilation flags ##########
409 %define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security -fmessage-length=0 -Wl,--as-needed
410
411 Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb
412 Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53
413 Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
414 Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
415 ### from Tizen:4.0:Unified
416 %define _repository emulator
417
418 Macros:
419
420 %distribution Tizen:4.0:Unified / emulator
421 %_project Tizen:4.0:Unified
422
423 ### from Tizen:4.0:Unified
424
425 %_repository emulator
426 :Macros
427
428 ################################################################################
429 # OBS Project config for Tizen:4.0:Unified
430 #
431 # vim: set syntax=spec:
432 ################################################################################
433
434 ############################# conflicts resolution #############################
435
436 FileProvides: /usr/sbin/groupadd shadow-utils
437 Prefer: bluetooth-tools-no-firmware
438
439 ############################# profile definition ###############################
440
441 %define _with_tizen 1
442
443 # For classifying debug/release mode
444 Macros:
445 %tizen_build_devel_mode 1
446 :Macros
447
448 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
449
450 Macros:
451 %release_name Tizen4/Unified
452
453 %tizen_version_major 4
454 %tizen_version_minor 0
455 %tizen_version_patch 0
456
457 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
458 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
459 %tizen %tizen_version
460 %vendor tizen
461 %_vendor tizen
462 %_with_tizen 1
463
464 %__spec_check_pre exit 0
465 %run_check_section 0
466 %opensuse_bs 1
467 %_default_patch_fuzz   2
468 :Macros
469
470 ########## mesa activation / coregl ##########
471
472 %define _with_mesa 1
473 Macros:
474 %_with_mesa 1
475 :Macros
476
477 Substitute: mesa-devel pkgconfig(glesv2)
478 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
479 Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
480
481 Prefer: coregl coregl-devel
482 Prefer: libwayland-egl libwayland-egl-devel
483
484 ########## WAYLAND #########
485
486 %define _with_wayland 1
487 Macros:
488 %_with_wayland 1
489 :Macros
490
491 ########## RDP flag ##########
492
493 # enable/disable RDP (remote desktop protocol) for wayland
494 # flag: _with_rdp, used in repositories
495 # Affects: weston, freerdp
496 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
497
498 ############################# target repositories #############################
499
500 %if "%_repository" == "standard"
501
502 Prefer: mesa libgbm
503 Substitute: mesa-libGLESv2 coregl
504 Substitute: mesa-libEGL coregl
505
506 %define _with_rdp 1
507 Macros:
508 %_with_rdp 1
509 :Macros
510
511 %endif
512
513 ############################# emulator repositories ############################
514
515 %if "%_repository" == "emulator"
516
517 Prefer: libgbm
518 Prefer: emulator-yagl emulator-yagl-devel
519
520 %define _with_emulator 1
521 Macros:
522 %_with_emulator 1
523 :Macros
524
525 %endif
526
527 ############################# misc config flags ################################
528 ########## USAGE ##########
529 #
530 # IMPORTANT: please follow the following rules when playing with flags
531 # ********************************************************************
532 #
533 # In spec file, call %bcond_with macro at the beginning and test with %with:
534 # -------------------------
535 # | %bcond_with myfeature
536 # | [...]
537 # | %if %{with myfeature}
538 # | [...]
539 # | %endif
540 # | [...]
541 # -------------------------
542 #
543 # To activate an option, use:
544 # -------------------------
545 # | %define _with_myfeature 1
546 # | Macros:
547 # | %_with_myfeature 1
548 # | :Macros
549 # -------------------------
550 #
551 # To disable an option, DON'T set the values to 0, as the option would still be defined
552 # but simply comment the lines: this will undefine the option.
553 # -------------------------
554 # | #%define _with_myfeature 1
555 # | #Macros:
556 # | #%_with_myfeature 1
557 # | #:Macros
558 # -------------------------
559 #
560 # More information here:
561 # https://en.opensuse.org/openSUSE:Build_Service_prjconf#.25bcond
562 #
563
564 ########## flags ##########
565
566 # Activate introspection
567 # This is needed on GuPNP to build Rygel correctly in IVI
568 # Impacts potentially packages that use gobject-introspection
569 # Owner: Mikko <mikko.ylinen@intel.com>
570
571 Macros:
572 %_with_introspection 1
573 :Macros
574
575 ############################# other config #####################################
576 # derived from Tizen:4.0:Base
577 ################################################################################