!3 add support for musl-gcc
From: @lijiajie128 Reviewed-by: @liqingqing_1229 Signed-off-by: @liqingqing_1229
This commit is contained in:
commit
5bc565cbd4
73
musl.spec
73
musl.spec
@ -1,6 +1,52 @@
|
||||
# Ensure the value is set correctly
|
||||
%ifarch %{ix86}
|
||||
%global _musl_target_cpu i386
|
||||
%endif
|
||||
|
||||
%ifarch %{arm}
|
||||
%ifarch armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv7l
|
||||
%global _musl_target_cpu arm
|
||||
%else
|
||||
%global _musl_target_cpu armhf
|
||||
%endif
|
||||
%global _musl_platform_suffix eabi
|
||||
%endif
|
||||
|
||||
%ifarch %{mips64}
|
||||
%global _musl_target_cpu mips64
|
||||
%endif
|
||||
|
||||
%ifarch %{mips32}
|
||||
%global _musl_target_cpu mips
|
||||
%endif
|
||||
|
||||
%ifarch ppc
|
||||
%global _musl_target_cpu powerpc
|
||||
%endif
|
||||
|
||||
%ifarch %{power64}
|
||||
# POWER architectures have a different name if little-endian
|
||||
%ifarch ppc64le
|
||||
%global _musl_target_cpu powerpc64le
|
||||
%else
|
||||
%global _musl_target_cpu powerpc64
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%ifnarch %{ix86} %{arm} %{mips} %{power64} ppc
|
||||
%global _musl_target_cpu %{_target_cpu}
|
||||
%endif
|
||||
|
||||
# Define the platform name
|
||||
%global _musl_platform %{_musl_target_cpu}-linux-musl%{?_musl_platform_suffix}
|
||||
%global _musl_gcc_platform %{_musl_target_cpu}-linux-musl-gcc
|
||||
|
||||
%global _libdir %{_prefix}/musl/lib
|
||||
%global _includedir %{_prefix}/musl/include
|
||||
|
||||
Name: musl
|
||||
Version: 1.2.0
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: An implementation of the standard library for Linux-based systems
|
||||
|
||||
License: MIT
|
||||
@ -63,13 +109,26 @@ free, and strives to be correct in the sense of standards
|
||||
conformance and safety.
|
||||
This package provides the additional development files for
|
||||
statically linking musl into programs and libraries.
|
||||
|
||||
%package gcc
|
||||
Summary: Wrapper for using gcc with musl
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: gcc
|
||||
|
||||
%description gcc
|
||||
musl is a C standard library to power a new generation
|
||||
of Linux-based devices. It is lightweight, fast, simple,
|
||||
free, and strives to be correct in the sense of standards
|
||||
conformance and safety.
|
||||
This package provides a wrapper around gcc to compile
|
||||
programs and libraries with musl easily.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
export LDFLAGS="%{?build_ldflags} -Wl,-soname,ld-musl.so.1"
|
||||
%configure --enable-debug --enable-wrapper=no
|
||||
%configure --enable-debug --enable-wrapper=gcc
|
||||
%make_build
|
||||
|
||||
%install
|
||||
@ -77,6 +136,7 @@ export LDFLAGS="%{?build_ldflags} -Wl,-soname,ld-musl.so.1"
|
||||
mkdir -p %{buildroot}/lib/
|
||||
mv %{buildroot}%{_libdir}/libc.so %{buildroot}/lib/ld-musl.so.1
|
||||
ln -sr %{buildroot}/lib/ld-musl.so.1 %{buildroot}%{_libdir}/ld-musl.so.1
|
||||
ln -sr %{buildroot}%{_bindir}/musl-gcc %{buildroot}%{_bindir}/%{_musl_gcc_platform}
|
||||
ln -sr %{buildroot}%{_libdir}/ld-musl.so.1 %{buildroot}%{_libdir}/libc.so
|
||||
ln -sr %{buildroot}%{_libdir}/libc.so %{buildroot}%{_libdir}/libcrypt.so
|
||||
ln -sr %{buildroot}%{_libdir}/libc.so %{buildroot}%{_libdir}/libdl.so
|
||||
@ -113,6 +173,15 @@ ln -sr %{buildroot}%{_libdir}/libc.so %{buildroot}%{_libdir}/libutil.so.1
|
||||
%license COPYRIGHT
|
||||
%{_libdir}/libc.a
|
||||
|
||||
%files gcc
|
||||
%license COPYRIGHT
|
||||
%{_bindir}/musl-gcc
|
||||
%{_bindir}/%{_musl_gcc_platform}
|
||||
%{_libdir}/musl-gcc.specs
|
||||
|
||||
%changelog
|
||||
* Tue May 11 2021 Jiajie Li <lijiajie11@huawei.com> - 1.2.0-2
|
||||
- Add musl-gcc support
|
||||
|
||||
* Fri Dec 4 2020 tangmeng5 <tangmeng5@huawei.com> - 1.2.0-1
|
||||
- package init
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user