DALi Version 1.4.16
[platform/core/uifw/dali-core.git] / packaging / dali.spec
1 Name:       dali
2 Summary:    DALi 3D Engine
3 Version:    1.4.16
4 Release:    1
5 Group:      System/Libraries
6 License:    Apache-2.0 and BSD-3-Clause and MIT
7 URL:        https://review.tizen.org/git/?p=platform/core/uifw/dali-core.git;a=summary
8 Source0:    %{name}-%{version}.tar.gz
9
10 Requires(post): /sbin/ldconfig
11 Requires(postun): /sbin/ldconfig
12 BuildRequires:  pkgconfig
13 BuildRequires:  gawk
14
15 %if 0%{?tizen_version_major} >= 3
16 BuildRequires:  pkgconfig(libtzplatform-config)
17 %endif
18
19 %if 0%{?tizen_version_major} < 4
20 %define disable_cxx03_build 1
21 %endif
22
23 %description
24 DALi 3D Engine
25
26 %if !0%{?disable_cxx03_build}
27 ##############################
28 # cxx03
29 ##############################
30 %package cxx03
31 Summary:        DALi 3D Engine with cxx03 abi
32 Provides:       %{name}-cxx03 = %{version}-%{release}
33
34 %description cxx03
35 DALi 3D Engine with cxx03 abi with cxx03 abi
36
37 ##############################
38 # devel-cxx03
39 ##############################
40 %package devel-cxx03
41 Summary:    Development components for DALi 3D Engine with cxx03 abi
42 Group:      Development/Building
43 Requires:   %{name}-cxx03 = %{version}-%{release}
44 Requires:   %{name}-integration-devel-cxx03 = %{version}-%{release}
45
46 %description devel-cxx03
47 Development components for DALi 3D Engine - public headers and package config
48
49 ##############################
50 # integration-devel-cxx03
51 ##############################
52 %package integration-devel-cxx03
53 Summary:    Integration development package for DALi 3D Engine witch cxx03 abi
54 Group:      Development/Building
55 Requires:   %{name}-cxx03 = %{version}-%{release}
56
57 %description integration-devel-cxx03
58 Integration development package for DALi 3D Engine - headers for integrating with an adaptor/platform abstraction library.
59 %endif
60
61 ##############################
62 # devel
63 ##############################
64 %package devel
65 Summary:    Development components for DALi 3D Engine
66 Group:      Development/Building
67 Requires:   %{name} = %{version}-%{release}
68 Requires:   %{name}-integration-devel = %{version}-%{release}
69
70 %description devel
71 Development components for DALi 3D Engine - public headers and package config
72
73 ##############################
74 # integration-devel
75 ##############################
76 %package integration-devel
77 Summary:    Integration development package for DALi 3D Engine
78 Group:      Development/Building
79 Requires:   %{name} = %{version}-%{release}
80
81 %description integration-devel
82 Integration development package for DALi 3D Engine - headers for integrating with an adaptor/platform abstraction library.
83
84 ##############################
85 # Preparation
86 ##############################
87 %prep
88 %setup -q
89
90 #Use TZ_PATH when tizen version is 3.x
91
92 %if "%{tizen_version_major}" == "2"
93 %define dali_data_rw_dir /opt/usr/share/dali/
94 %define dali_data_ro_dir /usr/share/dali/
95 %else
96 %define dali_data_rw_dir %TZ_SYS_SHARE/dali/
97 %define dali_data_ro_dir %TZ_SYS_RO_SHARE/dali/
98 %endif
99
100 %define dev_include_path %{_includedir}
101
102 ##############################
103 # Build
104 ##############################
105 %build
106 PREFIX="/usr"
107 CXXFLAGS+=" -Wall -g -Os -DNDEBUG -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
108 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -lgcc_s -lgcc -Wl,-Bsymbolic-functions "
109
110 %ifarch %{arm}
111 CXXFLAGS+=" -D_ARCH_ARM_ -mfpu=neon"
112 %endif
113
114 %if 0%{?enable_coverage}
115 CXXFLAGS+=" --coverage "
116 LDFLAGS+=" --coverage "
117 %endif
118
119 libtoolize --force
120 cd %{_builddir}/%{name}-%{version}/build/tizen
121 autoreconf --install
122 DALI_DATA_RW_DIR="%{dali_data_rw_dir}"
123 DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
124 export DALI_DATA_RW_DIR
125 export DALI_DATA_RO_DIR
126
127 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS;
128 CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS;
129 LDFLAGS="${LDFLAGS:-%optflags}" ; export LDFLAGS;
130
131 ./configure \
132       --program-prefix=%{?_program_prefix} \
133       --prefix=%{_prefix} \
134       --exec-prefix=%{_exec_prefix} \
135       --bindir=%{_bindir} \
136       --sbindir=%{_sbindir} \
137       --sysconfdir=%{_sysconfdir} \
138       --datadir=%{_datadir} \
139       --includedir=%{_includedir} \
140       --libdir=%{_libdir} \
141       --libexecdir=%{_libexecdir} \
142       --localstatedir=%{_localstatedir} \
143       --sharedstatedir=%{_sharedstatedir} \
144       --mandir=%{_mandir} \
145 %if 0%{?enable_debug}
146       --enable-debug \
147 %endif
148 %if 0%{?enable_trace}
149       --enable-trace \
150 %endif
151       --infodir=%{_infodir} \
152       --enable-rename-so=no
153
154 make %{?jobs:-j%jobs}
155
156 pushd %{_builddir}/%{name}-%{version}/build/tizen
157 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
158 popd
159
160 pushd %{buildroot}%{_libdir}
161 for FILE in libdali-core-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
162 mv pkgconfig/dali-core.pc %{_builddir}/%{name}-%{version}/build/tizen/dali-core.pc
163 popd
164
165 %if !0%{?disable_cxx03_build}
166 make clean
167
168 ./configure \
169       --program-prefix=%{?_program_prefix} \
170       --prefix=%{_prefix} \
171       --exec-prefix=%{_exec_prefix} \
172       --bindir=%{_bindir} \
173       --sbindir=%{_sbindir} \
174       --sysconfdir=%{_sysconfdir} \
175       --datadir=%{_datadir} \
176       --includedir=%{_includedir} \
177       --libdir=%{_libdir} \
178       --libexecdir=%{_libexecdir} \
179       --localstatedir=%{_localstatedir} \
180       --sharedstatedir=%{_sharedstatedir} \
181       --mandir=%{_mandir} \
182       --enable-cxx03-abi=yes  \
183 %if 0%{?enable_debug}
184       --enable-debug \
185 %endif
186 %if 0%{?enable_trace}
187       --enable-trace \
188 %endif
189       --infodir=%{_infodir} \
190       --enable-rename-so=no
191
192 make %{?jobs:-j%jobs}
193 %endif
194
195 ##############################
196 # Installation
197 ##############################
198 %install
199 rm -rf %{buildroot}
200 cd build/tizen
201
202 pushd %{_builddir}/%{name}-%{version}/build/tizen
203 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
204
205 for FILE in libdali-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
206 mv dali-core.pc %{buildroot}%{_libdir}/pkgconfig/dali-core.pc
207 popd
208
209 #############################
210 #rename
211 #############################
212 pushd  %{buildroot}%{_libdir}
213 rm -rf libdali-core.so
214 rm -rf libdali-core-cxx11.so
215 %if !0%{?disable_cxx03_build}
216 ln -s libdali-core.so.0.0.* libdali-core-cxx03.so
217 %endif
218 ln -s libdali-core-cxx11.so.0.0.* libdali-core.so
219 popd
220
221
222 ##############################
223 # Post Install
224 ##############################
225 %post
226 /sbin/ldconfig
227 exit 0
228
229 ##############################
230 # Post Uninstall
231 ##############################
232 %postun
233 /sbin/ldconfig
234 exit 0
235
236 ##############################
237 # Files in Binary Packages
238 ##############################
239
240 %if !0%{?disable_cxx03_build}
241 %files cxx03
242 %if 0%{?enable_dali_smack_rules}
243 %manifest dali.manifest-smack
244 %else
245 %manifest dali.manifest
246 %endif
247 %defattr(-,root,root,-)
248 %{_libdir}/libdali-core.so.*
249 %{_libdir}/libdali-core-cxx03.so
250 %license LICENSE
251 %endif
252
253 %files
254 %if 0%{?enable_dali_smack_rules}
255 %manifest dali.manifest-smack
256 %else
257 %manifest dali.manifest
258 %endif
259 %defattr(-,root,root,-)
260 %{_libdir}/libdali-core-cxx11.so.*
261 %{_libdir}/libdali-core.so
262 %license LICENSE
263
264 %if !0%{?disable_cxx03_build}
265 %files devel-cxx03
266 %defattr(-,root,root,-)
267 %{_libdir}/pkgconfig/dali-core-cxx03.pc
268 %{dev_include_path}/dali/public-api/*
269 %{dev_include_path}/dali/devel-api/*
270 %{dev_include_path}/dali/doc/*
271
272 %files integration-devel-cxx03
273 %defattr(-,root,root,-)
274 %{_includedir}/dali/integration-api/*
275 %endif
276
277 %files devel
278 %defattr(-,root,root,-)
279 %{_libdir}/pkgconfig/dali-core.pc
280 %{dev_include_path}/dali/public-api/*
281 %{dev_include_path}/dali/devel-api/*
282 %{dev_include_path}/dali/doc/*
283
284 %files integration-devel
285 %defattr(-,root,root,-)
286 %{_includedir}/dali/integration-api/*