pin-server/pin-server.spec

189 lines
5.3 KiB
RPMSpec

Name: pin-server
Version: 0.4.0
Release: 7
Summary: Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
License: Apache 2.0
URL: https://gitee.com/openeuler/pin-server
Source0: %{name}-%{version}.tar.gz
BuildRequires: gcc gcc-c++ cmake make pkgconfig grpc grpc-plugins grpc-devel protobuf-devel jsoncpp-devel
BuildRequires: llvm-mlir llvm-mlir-static llvm-mlir-devel llvm-devel
Requires: grpc protobuf
Patch1: 0001-Refactoring-Code-refactoring-of-Communication-Subsys.patch
Patch2: 0002-Refactoring-Code-refactoring-of-Communication-Subsys.patch
Patch3: 0003-Refactoring-Code-refactoring-of-Communication-Subsys.patch
Patch4: 0004-Pin-server-Add-DebugOp.patch
Patch5: 0005-Pin-server-Add-API-for-LTO-judgement.patch
Patch6: 0006-Pin-server-Fix-bug-for-BuildCallOp.patch
Patch7: 0007-Pin-server-Refactoring-array-widen-compare-into-a-cl.patch
Patch8: 0008-Pin-server-Refactoring-DEMOs-into-PluginOpt-classes.patch
Patch9: 0009-Pin-server-Support-functiontype-structtype.eg.patch
Patch10: 0010-Pin-server-Add-ComponentOp-ConstructorOp-AddressOp-F.patch
Patch11: 0011-Pin-server-Add-NopOp-EHElseOp-AsmOp-SwitchOp-LabelOp.patch
Patch12: 0012-Pin-server-Support-Vectortype.patch
Patch13: 0013-Pin-server-Fix-Definecode-name.patch
Patch14: 0014-Pin-server-Fix-AWC-pass-can-complice-can-compile-a-c.patch
Patch15: 0015-Pin-server-Bugfix-for-SwitchOp-change-it-to-terminat.patch
Patch16: 0016-Pin-server-Bugfix-for-GetFunctionById.patch
Patch17: 0017-Refactoring-Modify-API-parameters-to-improve-usabili.patch
Patch18: 0018-Build-Fix-strip-problem.patch
Patch19: 0019-Pin-server-Init-a-SimpleIPAPASS.patch
Patch20: 0020-Pin-server-Add-CGnodeOp.patch
Patch21: 0021-Pin-server-The-lto-flag-is-used-to-control-the-pass-.patch
Patch22: 0022-Pin-server-Add-support-for-decl-and-field-SetDeclNam.patch
Patch23: 0023-Pin-server-Add-StructReorderPASS-demo.patch
Patch24: 0024-Pin-server-Fix-VectorType.patch
Patch25: 0025-Pin-server-Fix-Pass-DoOptimize-method-and-struct-sel.patch
%description
Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass.
%package demo
Summary: Demo for %{name}
Requires: grpc protobuf
%description demo
A demo for pin-server
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
mkdir -p _build
cd _build
%{cmake} .. -DCMAKE_INSTALL_PREFIX=%{_usr} -DCMAKE_INSTALL_LIBDIR=%{_libdir} -DCMAKE_SKIP_RPATH=ON -DMLIR_DIR=/usr/lib64/cmake/mlir -DLLVM_DIR=/usr/lib64/cmake/llvm
%build
cd _build
%make_build
%install
cd _build
%make_install
mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "{_libdir}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
find %{_bindir} -type f -name "pin_server" -exec strip "{}" ";"
find %{_libdir} -type f -name "libMLIRPluginServer.so" -exec strip "{}" ";"
find %{_libdir} -type f -name "libMLIRServerAPI.so" -exec strip "{}" ";"
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
%files
%license LICENSE
%attr(0755,root,root) %{_bindir}/pin_server
%files demo
%attr(0755,root,root) %{_libdir}/libpin_user.so
%attr(0755,root,root) %{_libdir}/libMLIRPluginServer.so
%attr(0755,root,root) %{_libdir}/libMLIRPluginServer.so.12
%attr(0755,root,root) %{_libdir}/libMLIRServerAPI.so
%attr(0755,root,root) %{_libdir}/libMLIRServerAPI.so.12
%attr(0644,root,root) %{_libdir}/libpin_user.sha256
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
%changelog
* Fri Mar 17 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-7
- Type:Update
- ID:NA
- SUG:NA
- DESC:Fix VectorType and Fix Pass DoOptimize method
* Tue Mar 07 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-6
- Type:Update
- ID:NA
- SUG:NA
- DESC:Sync patch from openEuler/pin-server
* Mon Mar 6 2023 wumingchuan <wumingchuan1992@foxmail.com> - 0.4.0-5
- Type:Update
- ID:NA
- SUG:NA
- DESC: Fix RPATH problem by ld.so.conf.d
* Fri Mar 3 2023 wumingchuan <wumingchuan1992@foxmail.com> - 0.4.0-4
- Type:Update
- ID:NA
- SUG:NA
- DESC: Fix STRIP & RPATH
* Sun Feb 26 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-3
- Type:Update
- ID:NA
- SUG:NA
- DESC:Sync patch from openEuler/pin-server
* Wed Feb 22 2023 dingguangya <dingguangya1@huawei.com> - 0.4.0-2
- Type:Update
- ID:NA
- SUG:NA
- DESC:Sync patch from openEuler/pin-server
* Tue Dec 20 2022 zhaowenyu <804544223@qq.com> - 0.4.0-1
- Type:Update
- ID:NA
- SUG:NA
- DESC:Update to v0.4.0
* Thu Dec 08 2022 benniaobufeijiushiji <linda7@huawei.com> - 0.3.0-2
- Type:Sync
- ID:NA
- SUG:NA
- DESC:Sync patch from openEuler/pin-server
* Thu Dec 01 2022 wumingchuan <wumingchuan1992@foxmail.com> - 0.3.0-1
- Type:Update
- ID:NA
- SUG:NA
- DESC:Update to v0.3.0
* Thu Sep 29 2022 wumingchuan <wumingchuan1992@foxmail.com> - 0.2.0-1
- Type:Update
- ID:NA
- SUG:NA
- DESC:Update to v0.2.0
* Sat Aug 27 2022 liyancheng <412998149@qq.com> - 0.1.0-2
- Type:Bugfix
- ID:NA
- SUG:NA
- DESC:Static link plg_grpc_proto
* Fri Aug 26 2022 liyancheng <412998149@qq.com> - 0.1.0-1
- Type:Init
- ID:NA
- SUG:NA
- DESC:Init pin-server repository