1
0
Fork 0
mirror of https://abf.rosa.ru/djam/boost.git synced 2025-04-14 02:04:14 +00:00
This commit is contained in:
Sergey Zhemoytel 2023-09-09 15:19:08 +00:00
parent 508a8abd81
commit aaf4c4c52f

View file

@ -1,38 +1,40 @@
%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
%define libatomic %mklibname boost_atomic %{version}
%define libchrono %mklibname boost_chrono %{version}
%define libcontainer %mklibname boost_container %{version}
%define libcontext %mklibname boost_context %{version}
%define libcoroutine %mklibname boost_coroutine %{version}
%define libdatetime %mklibname boost_date_time %{version}
%define libfilesystem %mklibname boost_filesystem %{version}
%define libgraph %mklibname boost_graph %{version}
%define libiostreams %mklibname boost_iostreams %{version}
%define liblocale %mklibname boost_locale %{version}
%define liblog %mklibname boost_log %{version}
%define liblogsetup %mklibname boost_log_setup %{version}
%define libmathc99 %mklibname boost_math_c99_ %{version}
%define libmathc99f %mklibname boost_math_c99f %{version}
%define libmathc99l %mklibname boost_math_c99l %{version}
%define libatomic %mklibname boost_atomic_ %{version}
%define libchrono %mklibname boost_chrono_ %{version}
%define libcontainer %mklibname boost_container_ %{version}
%define libcontext %mklibname boost_context_ %{version}
%define libcontract %mklibname boost_contract_ %{version}
%define libcoroutine %mklibname boost_coroutine_ %{version}
%define libdatetime %mklibname boost_date_time_ %{version}
%define libfilesystem %mklibname boost_filesystem_ %{version}
%define libgraph %mklibname boost_graph_ %{version}
%define libiostreams %mklibname boost_iostreams_ %{version}
%define liblocale %mklibname boost_locale_ %{version}
%define liblog %mklibname boost_log_ %{version}
%define liblogsetup %mklibname boost_log_setup_ %{version}
%define libmathc99 %mklibname boost_math_c99__ %{version}
%define libmathc99f %mklibname boost_math_c99f_ %{version}
%define libmathc99l %mklibname boost_math_c99l_ %{version}
%define libmathtr1 %mklibname boost_math_tr1_ %{version}
%define libmathtr1f %mklibname boost_math_tr1f %{version}
%define libmathtr1l %mklibname boost_math_tr1l %{version}
%define libprgexecmonitor %mklibname boost_prg_exec_monitor %{version}
%define libprogramoptions %mklibname boost_program_options %{version}
%define libpython %mklibname boost_python %{version}
%define libmathtr1f %mklibname boost_math_tr1f_ %{version}
%define libmathtr1l %mklibname boost_math_tr1l_ %{version}
%define libprgexecmonitor %mklibname boost_prg_exec_monitor_ %{version}
%define libprogramoptions %mklibname boost_program_options_ %{version}
%define libpython %mklibname boost_python_ %{version}
%define libpython3 %mklibname boost_python3_ %{version}
%define librandom %mklibname boost_random %{version}
%define libregex %mklibname boost_regex %{version}
%define libserialization %mklibname boost_serialization %{version}
%define libsignals %mklibname boost_signals %{version}
%define libsystem %mklibname boost_system %{version}
%define libthread %mklibname boost_thread %{version}
%define libtimer %mklibname boost_timer %{version}
%define libtypeerasure %mklibname boost_type_erasure %{version}
%define libunittestframework %mklibname boost_unit_test_framework %{version}
%define libwave %mklibname boost_wave %{version}
%define libwserialization %mklibname boost_wserialization %{version}
%define librandom %mklibname boost_random_ %{version}
%define libregex %mklibname boost_regex_ %{version}
%define libserialization %mklibname boost_serialization_ %{version}
%define libsignals %mklibname boost_signals_ %{version}
%define libstacktrace %mklibname boost_stacktrace_ %{version}
%define libsystem %mklibname boost_system_ %{version}
%define libthread %mklibname boost_thread_ %{version}
%define libtimer %mklibname boost_timer_ %{version}
%define libtypeerasure %mklibname boost_type_erasure_ %{version}
%define libunittestframework %mklibname boost_unit_test_framework_ %{version}
%define libwave %mklibname boost_wave_ %{version}
%define libwserialization %mklibname boost_wserialization_ %{version}
%define devname %mklibname boost -d
%define sdevname %mklibname boost -d -s
@ -64,6 +66,11 @@
# (tpg) save 50 MiB
%bcond_with docs
# python2
%bcond_without python2
# signals
%bcond_without signals
Summary: Portable C++ libraries
Name: boost
@ -520,6 +527,8 @@ running programs dynamically linked against Boost program_options.
#----------------------------------------------------------------------------
%if %{with python2}
%package -n %{libpython}
Summary: Boost python shared library
Group: System/Libraries
@ -536,6 +545,7 @@ running programs dynamically linked against Boost python.
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python27.so.%{version}
%endif
#----------------------------------------------------------------------------
%package -n %{libpython3}
@ -552,7 +562,9 @@ running programs dynamically linked against Boost python.
%files -n %{libpython3}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python3.so.%{version}
%{_libdir}/libboost_python35.so.%{version}
%{_libdir}/libboost_numpy35.so.%{version}
#----------------------------------------------------------------------------
@ -610,6 +622,7 @@ running programs dynamically linked against Boost serialization.
#----------------------------------------------------------------------------
%if %{with signals}
%package -n %{libsignals}
Summary: Boost signals shared library
Group: System/Libraries
@ -626,6 +639,8 @@ running programs dynamically linked against Boost signals.
%doc LICENSE_1_0.txt
%{_libdir}/libboost_signals.so.%{version}
%endif
#----------------------------------------------------------------------------
%package -n %{libsystem}
@ -754,6 +769,44 @@ running programs dynamically linked against Boost wserialization.
#----------------------------------------------------------------------------
%package -n %{libstacktrace}
Summary: Boost stacktrace shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libstacktrace}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost stacktrace.
%files -n %{libstacktrace}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libcontract}
Summary: Boost contract shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libcontract}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost contract.
%files -n %{libcontract}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_contract.so.%{version}
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: The libraries and headers needed for Boost development
Group: Development/C++
@ -801,7 +854,7 @@ symlinks needed for Boost development.
%files -n %{devname}
%{_includedir}/boost
%{_libdir}/libboost_*.so
%exclude %{_libdir}/libboost_python3.so
%exclude %{_libdir}/libboost_python35.so
%{_libdir}/cmake/*
#----------------------------------------------------------------------------
@ -853,7 +906,7 @@ Standard Library. This package contains headers and shared library
symlinks needed for Boost development.
%files -n %{devpython3}
%{_libdir}/libboost_python3.so
%{_libdir}/libboost_python35.so
#----------------------------------------------------------------------------
@ -888,9 +941,11 @@ find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*to
cat > ./tools/build/src/user-config.jam << EOF
using gcc : %{gcc_ver} : gcc : <cflags>"%{optflags}" <cxxflags>"%{optflags}" <linkflags>"%{ldflags}" ;
using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver}m : %{_libdir} : : : ;
#using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ;
using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ;
EOF
./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py3_ver}
./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
--prefix=%{_prefix} --libdir=%{_libdir} \
%ifarch %ix86
@ -904,7 +959,6 @@ EOF
%endif
linkflags="%{ldflags} -lstdc++ -lm" \
-sHAVE_ICU=1 \
python=%{py_ver} \
link=shared threading=multi debug-symbols=off --layout=system \
python=%{py3_ver}
@ -920,7 +974,7 @@ echo ============================= build Boost.Build ==================
--without-context --without-coroutine \
%endif
link=shared \
python=%{py_ver} \
python=%{py3_ver} \
install
echo ============================= install Boost.Build ==================