diff --git a/.gitignore b/.gitignore index e69de29..0a6f723 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libcxxabi-3.9.0.src.tar.xz diff --git a/libcxxabi.spec b/libcxxabi.spec new file mode 100644 index 0000000..35222d3 --- /dev/null +++ b/libcxxabi.spec @@ -0,0 +1,96 @@ +Name: libcxxabi +Version: 3.9.0 +Release: 1%{?dist} +Summary: Low level support for a standard C++ library +License: MIT or NCSA +URL: http://libcxxabi.llvm.org/ +Source0: http://llvm.org/releases/%{version}/libcxxabi-%{version}.src.tar.xz +BuildRequires: clang llvm-devel cmake +BuildRequires: libcxx-devel >= %{version} +%if 0%{?rhel} +# libcxx-devel has this, so we need to as well. +ExcludeArch: ppc64 ppc64le +%endif + +%description +libcxxabi provides low level support for a standard C++ library. + +%package devel +Summary: Headers and libraries for libcxxabi devel +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +%{summary}. + +%package static +Summary: Static libraries for libcxxabi + +%description static +%{summary}. + +%prep +%setup -q -n %{name}-%{version}.src + +sed -i 's|${LLVM_BINARY_DIR}/share/llvm/cmake|%{_libdir}/cmake/llvm|g' CMakeLists.txt + +%build +mkdir _build +cd _build +%ifarch s390 s390x +%if 0%{?fedora} < 26 +# clang requires z10 at minimum +# workaround until we change the defaults for Fedora +%global optflags %(echo %{optflags} | sed 's/-march=z9-109 /-march=z10 /') +%endif +%endif +export LDFLAGS="-Wl,--build-id" +%cmake .. \ + -DCMAKE_C_COMPILER=/usr/bin/clang \ + -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \ + -DLLVM_CONFIG=%{_bindir}/llvm-config \ + -DCMAKE_CXX_FLAGS="-std=c++11" \ + -DLIBCXXABI_LIBCXX_INCLUDES=%{_includedir}/c++/v1/ \ +%if %{__isa_bits} == 64 + -DLIBCXXABI_LIBDIR_SUFFIX:STRING=64 \ +%endif + -DCMAKE_BUILD_TYPE=RelWithDebInfo + + +make %{?_smp_mflags} + +%install +cd _build +make install DESTDIR=%{buildroot} +mkdir -p %{buildroot}%{_includedir} +cd .. +cp -a include/* %{buildroot}%{_includedir} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%license LICENSE.TXT +%doc CREDITS.TXT +%{_libdir}/libc++abi.so.* + +%files devel +%{_includedir}/*.h +%{_libdir}/libc++abi.so + +%files static +%{_libdir}/libc++abi.a + +%changelog +* Mon Feb 20 2017 Tom Callaway - 3.9.0-1 +- update to 3.9.0 +- apply fixes from libcxx + +* Wed Sep 7 2016 Tom Callaway - 3.8.1-1 +- update to 3.8.1 + +* Mon Jul 25 2016 Tom Callaway - 3.8.0-2 +- make static subpackage + +* Tue May 3 2016 Tom Callaway - 3.8.0-1 +- initial package diff --git a/sources b/sources index e69de29..396523b 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (libcxxabi-3.9.0.src.tar.xz) = 500207bfd59664bd42d920741d6b467c4b88569453742db6470af081c77be04894e097a14b8419e333b51abce484566366e35cbc3ed2607cd86dfc0ec0ddd0c5