[Tizen] Support asan build option
[platform/core/uifw/dali-core.git] / packaging / dali.spec
1 Name:       dali2
2 Summary:    DALi 3D Engine
3 Version:    2.3.18
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:  cmake
13 BuildRequires:  pkgconfig
14 BuildRequires:  gawk
15
16 %if 0%{?tizen_version_major} >= 3
17 BuildRequires:  pkgconfig(libtzplatform-config)
18 %endif
19
20 # For ASAN test
21 %if "%{vd_asan}" == "1" || "%{asan}" == "1"
22 BuildRequires: asan-force-options
23 BuildRequires: asan-build-env
24 BuildRequires: libasan
25 %endif
26
27 %description
28 DALi 3D Engine
29
30 ##############################
31 # devel
32 ##############################
33 %package devel
34 Summary:    Development components for DALi 3D Engine
35 Group:      Development/Building
36 Requires:   %{name} = %{version}-%{release}
37 Requires:   %{name}-integration-devel = %{version}-%{release}
38
39 %description devel
40 Development components for DALi 3D Engine - public headers and package config
41
42 ##############################
43 # integration-devel
44 ##############################
45 %package integration-devel
46 Summary:    Integration development package for DALi 3D Engine
47 Group:      Development/Building
48 Requires:   %{name} = %{version}-%{release}
49
50 %description integration-devel
51 Integration development package for DALi 3D Engine - headers for integrating with an adaptor/platform abstraction library.
52
53 ##############################
54 # Preparation
55 ##############################
56 %prep
57 %setup -q
58
59 %define dev_include_path %{_includedir}
60
61 ##############################
62 # Build
63 ##############################
64 %build
65 PREFIX="/usr"
66 CXXFLAGS+=" -Wall -g -Os -DNDEBUG -fPIC -fvisibility-inlines-hidden -fdata-sections -ffunction-sections "
67 LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -Wl,--gc-sections -lgcc_s -lgcc -Wl,-Bsymbolic-functions "
68
69 %ifarch %{arm}
70 CXXFLAGS+=" -D_ARCH_ARM_ -mfpu=neon"
71 %endif
72
73 %if 0%{?enable_coverage}
74 CXXFLAGS+=" --coverage "
75 LDFLAGS+=" --coverage "
76 %endif
77
78 libtoolize --force
79 cd %{_builddir}/%{name}-%{version}/build/tizen
80
81 CFLAGS="${CFLAGS:-%optflags}" ;
82 CXXFLAGS="${CXXFLAGS:-%optflags}" ;
83 LDFLAGS="${LDFLAGS:-%optflags}" ;
84
85 %if "%{vd_asan}" == "1" || "%{asan}" == "1"
86 CFLAGS+=" -fsanitize=address"
87 CXXFLAGS+=" -fsanitize=address"
88 LDFLAGS+=" -fsanitize=address"
89 %endif
90 export CFLAGS;
91 export CXXFLAGS;
92 export LDFLAGS;
93
94 cmake \
95 %if 0%{?enable_debug}
96       -DCMAKE_BUILD_TYPE=Debug \
97 %endif
98       -DENABLE_TRACE=ON \
99       -DENABLE_BACKTRACE=ON \
100       -DCMAKE_INSTALL_PREFIX=%{_prefix} \
101       -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
102       -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}
103
104 make %{?jobs:-j%jobs}
105
106 ##############################
107 # Installation
108 ##############################
109 %install
110 rm -rf %{buildroot}
111 cd build/tizen
112
113 pushd %{_builddir}/%{name}-%{version}/build/tizen
114 %make_install
115
116 ##############################
117 # Post Install
118 ##############################
119 %post
120 /sbin/ldconfig
121 exit 0
122
123 ##############################
124 # Post Uninstall
125 ##############################
126 %postun
127 /sbin/ldconfig
128 exit 0
129
130 ##############################
131 # Files in Binary Packages
132 ##############################
133
134 %files
135 %if 0%{?enable_dali_smack_rules}
136 %manifest dali.manifest-smack
137 %else
138 %manifest dali.manifest
139 %endif
140 %defattr(-,root,root,-)
141 %{_libdir}/libdali2-core.so*
142 %license LICENSE
143
144 %files devel
145 %defattr(-,root,root,-)
146 %{_libdir}/pkgconfig/dali2-core.pc
147 %{dev_include_path}/dali/public-api/*
148 %{dev_include_path}/dali/devel-api/*
149 %{dev_include_path}/dali/doc/*
150
151 %files integration-devel
152 %defattr(-,root,root,-)
153 %{_includedir}/dali/integration-api/*
154 %{_includedir}/dali/graphics-api/*