Name:           mcpp
Version:	2.7.2
Release:	27
Summary:	A portable C preprocessor
License:	BSD
URL:		http://mcpp.sourceforge.net/
Source0:	http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0:         backport-mcpp.2.7.2.patch
Patch1:         backport-CVE-2019-14274-05-gniibe-fix-13.patch

BuildRequires:  gcc

Provides:       libmcpp
Obsoletes:      libmcpp

%description
C/C++ preprocessor defines and expands macros and processes '#if',
'#include' and some other directives.

MCPP is an alternative C/C++ preprocessor with the highest conformance.
It supports multiple standards: K&R, ISO C90, ISO C99, and ISO C++98.
MCPP is especially useful for debugging a source program which uses
complicated macros and also useful for checking portability of a source.

Though mcpp could be built as a replacement of GCC's resident
proprocessor or as a stand-alone program without using library build of
mcpp, this package installs only a program named 'mcpp' which links
shared library of mcpp and behaves independent from GCC.

This package contains a library build of mcpp.

%package devel
Summary:    Development package for library of mcpp
Requires:   mcpp = %{version}

Provides:   libmcpp-devel
Obsoletes:  libmcpp-devel

%description devel
This is the development package for mcpp.

%package_help

%prep
%autosetup -n %{name}-%{version} -p1

%build
%configure --enable-mcpplib
%make_build

%install
%make_install
rm -f %{buildroot}%{_docdir}/%{name}/%{name}-manual-jp*
rm -f %{buildroot}%{_libdir}/libmcpp*a

%check
make check

%post -p /sbin/ldconfig

%postun  -p /sbin/ldconfig

%files
%defattr(-, root, root)
%{_docdir}/%{name}/LICENSE
%{_bindir}/%{name}
%{_libdir}/libmcpp.so.*

%files devel
%defattr(-, root, root)
%{_libdir}/libmcpp.so
%{_includedir}/mcpp_*.h

%files help
%doc ChangeLog
%{_docdir}/%{name}/{README,NEWS,*.html}
%{_mandir}/man1/%{name}.1.gz

%changelog
* Tue Jul 20 2021 fuanan <fuanan3@huawei.com> - 2.7.2-27
- Remove redundant gdb from BuildRequires

* Tue Jan 5 2021 zoulin<zoulin13@huawei.com> - 2.7.2-26
- Type:CVE
- ID:NA
- SUG:NA
- DESC:fix CVE-2019-14274

* Wed Mar 18 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.7.2-25
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix crash

* Mon Sep 23 2019 shenyangyang<shenyangyang4@huawei.com> - 2.7.2-24
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:remove patch

* Mon Sep 23 2019 shenyangyang<shenyangyang4@huawei.com> - 2.7.2-23
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:add help package

* Mon Aug 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.7.2-22
- Package init
