1 ################################################################################
2 # OBS Project config for Tizen:Base
7 # vim: set syntax=spec:
8 ################################################################################
10 Patterntype: rpm-md comps
11 Release: <CI_CNT>.<B_CNT>
13 Support: build-compare build-mkbaselibs
14 # Support: rpmlint-mini rpmlint-tizen
16 ############################# conflicts resolution #############################
26 Prefer: mono-data-sqlite
28 # Set a preference for ambiguous libs to use *-64bit libs
29 # *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx)
30 # But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository.
31 # e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one.
32 # Owner : Jiyoung Yun (jy910.yun@samsung.com)
33 Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl
35 ############################# base definition ###############################
42 #### %__spec_check_pre exit 0
43 #### %run_check_section 0
46 %_default_patch_fuzz 2
48 %_binary_payload w5T.xzdio
52 ############################# build config #####################################
54 %define gcc_version 62
59 ########## targets ##########
62 Target: i686-tizen-linux
66 Target: armv7hl-tizen-linux
70 Target: armv7l-tizen-linux
74 Target: aarch64-tizen-linux
77 ########## cross build ##########
79 %define build_hostarch x86_64
81 %build_hostarch x86_64
84 %ifarch %arm armv7l aarch64
86 # cross build support for the build hosts
87 Preinstall: qemu-linux-user-%{build_hostarch}-cross
88 Runscripts: qemu-linux-user-%{build_hostarch}-cross
89 Keep: qemu-linux-user-%{build_hostarch}-cross
91 %qemu_user_space_build 1
96 Preinstall: qemu-accel-%{build_hostarch}-armv7l
97 Runscripts: qemu-accel-%{build_hostarch}-armv7l
98 Preinstall: libmount libblkid libuuid
102 Preinstall: qemu-accel-%{build_hostarch}-aarch64
103 Runscripts: qemu-accel-%{build_hostarch}-aarch64
104 Preinstall: libmount libblkid libuuid
107 Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l
108 Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64
110 Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l
111 Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64
113 ########## exports for different architectures ##########
115 ExportFilter: \.armv7l\.rpm$ armv7l
116 ExportFilter: \.aarch64\.rpm$ aarch64
117 ExportFilter: \.i586\.rpm$ i586
118 ExportFilter: \.x86_64\.rpm$ x86_64
120 ########## buildroot config ##########
122 Preinstall: setup filesystem
125 Preinstall: bash bzip2 coreutils diffutils grep rpm
126 Preinstall: glibc libacl libattr
129 Preinstall: libpopt sed tar zlib
130 Preinstall: libncurses libreadline
131 Preinstall: libelf libbz2
133 Preinstall: nss nspr libfreebl3 libsoftokn3
136 Preinstall: smack libsmack libxml2 libmagic libmagic-data
137 Preinstall: libsqlite
138 #Preinstall: rpm-security-plugin
139 Preinstall: util-linux util-linux-su
141 VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols procps-ng
143 Required: binutils gcc glibc rpm-build libtool
146 Support: glibc-locale
149 Support: cpio findutils
150 Support: file findutils zlib bzip2
151 Support: gzip hostname net-tools
152 Support: make patch sed gawk tar grep coreutils pkg-config
156 Support: which elfutils
157 Support: update-alternatives
158 Support: libstdc++-devel
164 Keep: libstdc++-devel
165 Keep: cpp gcc libstdc++
167 Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++
168 Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat
169 Keep: make gmp libcap groff cpio
170 Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++
171 Keep: kernel-headers perl-libs perl
172 Keep: pkgconfig glib2 tizen-rpm-config
173 Keep: libmpc libmpfr libppl libgmp libppl_c
174 Keep: libcloog libppl libgmpxx
175 Keep: nss-softokn-freebl libmagic libmagic-data
177 Keep: update-alternatives
184 Substitute: gettext gettext-tools
187 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
188 Substitute: libgcc_s1-32bit libgcc-32bit
190 Substitute: glibc-devel-32bit
193 ########## compilation flags ##########
194 %define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security -fmessage-length=0 -Wl,--as-needed
196 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
197 Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53
198 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
199 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