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