Summary        : An open source CoreSight(tm) Trace Decode library
Name           : OpenCSD
Version        : 1.3.3
Release        : 3
License        : BSD
Source         : %{name}-%{version}.tar.gz
BuildRoot      : %{_tmppath}/%{name}-%{version}-${release}-root
BuildRequires  : gcc-c++ make


%description
%{name} will decode formatted trace in three stages:
1. Frame Deformatting : Removal CoreSight frame formatting from individual trace streams.
2. Packet Processing : Separate individual trace streams into discrete packets.
3. Packet Decode : Convert the packets into fully decoded trace describing the program flow on a core.
The library is implemented in C++ with an optional "C" API.


%prep
%setup -q


%build
export CFLAGS="$RPM_OPT_FLAGS  -fPIE -pie"
export CXXFLAGS="$RPM_OPT_FLAGS -fPIE -pie"
make -C decoder/build/linux %{?_smp_mflags}


%install
rm -rf %{buildroot}
make -C decoder/build/linux install PREFIX=%{buildroot}/usr LIB_PATH=%{_lib} DEF_SO_PERM=755

%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,0644)
%doc README.md LICENSE
%{_includedir}/opencsd
%{_libdir}/libopencsd*
%exclude %{_bindir}
%exclude %{_libdir}/*.a*


%changelog
* Wed Apr 03 2024 guoqinglan <guoqinglan@kylinsec.com.cn> - 1.3.3-3
- enable debug package
- change permission from 644 to 755

* Tue Feb 28 2023 liweiganga <liweiganga@uniontech.com> - 1.3.3-2
- fix #I6I3EM and #I6I31E

* Tue Jan 03 2023 Junhao He <hejunhao3@hauwei.com> - 1.3.3-1
- Package init
