📄 glibc.spec
字号:
%define pfx /opt/freescale/rootfs/%{_target_cpu} %define linux_san_hdr_ver linux-libc-headers-2.6.11.2Summary : Gnu standard C library with linuxthreadsName : glibcVersion : 2.3.2Release : 1License : LGPLVendor : FreescalePackager : Stuart Hughes & Steve PapacharalambousGroup : System Environment/LibrariesSource : %{name}-%{version}.tar.bz2Source1 : %{name}-linuxthreads-%{version}.tar.bz2Source2 : %{linux_san_hdr_ver}.tar.bz2Patch0 : arm-asm-clobber.patchPatch1 : arm-ctl_bus_isa.patchPatch2 : arm-mcount_internal.patchPatch3 : epoll-epollet.patchPatch4 : epoll-stdint.patchPatch5 : errlist-awk.patchPatch6 : fixup.patchPatch7 : gcc-pr-9552-workaround.patchPatch8 : glibc-2.2.5-crosstest.patchPatch9 : glibc-2.2.5-mips-clone-local-label.patchPatch10 : glibc-2.3.2-allow-gcc-3.4-inline.patchPatch11 : glibc-2.3.2-allow-gcc-3.4-nounit.patchPatch12 : glibc-2.3.2-allow-gcc-3.5-elf.patchPatch13 : glibc-2.3.2-allow-gcc-3.5-gconv.patchPatch14 : glibc-2.3.2-allow-gcc-3.5-msort.patchPatch15 : glibc-2.3.2-allow-gcc-3.5-PR14096.patchPatch16 : glibc-2.3.2-allow-gcc-3.5-sunrpc.patchPatch17 : glibc-2.3.2-allow-gcc-3.5-xdr.patchPatch18 : glibc-2.3.2-alpha-pwrite64.patchPatch19 : glibc-2.3.2-arm-fix-strlen.patchPatch20 : glibc-2.3.2-cross-2.patchPatch21 : glibc-2.3.2-cross.patchPatch22 : glibc-2.3.2-cygwin.patchPatch23 : glibc-2.3.2-mips.patchPatch24 : glibc-2.3.2-mips-user.patchPatch25 : glibc-2.3.2-override.patchPatch26 : glibc-2.3.2-powerpc-as.patchPatch27 : glibc-2.3.2-powerpc-procfs.patchPatch28 : glibc-2.3.2-pr139-fix.patchPatch29 : glibc-2.3.2-sh4-socket.patchPatch30 : glibc-2.3.2-sh4-trapa.patchPatch31 : glibc-2.3.2-sparc32-sysdep.patchPatch32 : glibc-2.3.2-sparc64-dl-machine.patchPatch33 : glibc-2.3.2-sparc64-pause.patchPatch34 : glibc-2.3.2-sparc64-pwrite64.patchPatch35 : glibc-2.3.2-without-fp.patchPatch36 : glibc-configure-apple-as.patchPatch37 : glibc-drow-sh.patchPatch38 : glibc-fp-byteorder.patchPatch39 : glibc-test-lowram.patchPatch40 : nobits.patchPatch41 : sscanf.patchPatch42 : string2-typedef.patchPatch43 : alpha_cfi1.patchPatch44 : alpha_cfi2.patchPatch45 : glibc-2.3.2-sparc64-sigproc.patchPatch46 : glibc-linuxthreads-2.3.2-allow-3.4.patchPatch47 : glibc-linuxthreads-2.3.2-cygwin.patchPatch48 : sysdep-cancel-arm-1.2-1.6.patchPatch49 : glibc-2.3.2-spe-ltib.patch.bz2BuildRoot : %{_tmppath}/%{name}Prefix : %{pfx}%Description%{summary}%Prep%setup %patch0 -p1%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%patch26 -p1%patch27 -p1%patch28 -p1%patch29 -p1%patch30 -p1%patch31 -p1%patch32 -p1%patch33 -p1%patch34 -p1%patch35 -p1%patch36 -p1%patch37 -p1%patch38 -p1%patch39 -p1%patch40 -p1%patch41 -p1%patch42 -p1cd ${RPM_BUILD_DIR}/%{name}-%{version}tar jxvf %{SOURCE1}%patch43 -p1%patch44 -p1%patch45 -p1%patch46 -p1%patch47 -p1%patch48 -p1# Add the spe patches for e500 builds.if [ `echo ${TOOLCHAIN_PREFIX} | grep "gnuspe"` ]then%patch49 -p1ficd ..rm -rf %{linux_san_hdr_ver} tar --bzip2 -xvf %{SOURCE2}cd %{linux_san_hdr_ver}mkdir -p ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/includecp -R include/asm-${LINTARCH} ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/include/asmcp -R include/linux ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/includetouch ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/include/linux/autoconf.hcd ..rm -rf %{linux_san_hdr_ver}%Build# See: http://www.embeddedtux.org/pipermail/etux.mbox/etux.mbox# Remove memset.S for 8xx and 403, they have 4 word, not 8 word cache lines.# memset.S incorrectly assumes an 8 word wide cache lines.# Still a problem in glibc-2.3.2, see:# http://ozlabs.org/pipermail/linuxppc-embedded/2004-June/014791.htmlcase ${CPU} in MPC823*) FPU_FLAG=no rm sysdeps/powerpc/powerpc32/memset.S ;; MPC860*) FPU_FLAG=no rm sysdeps/powerpc/powerpc32/memset.S ;; *) FPU_FLAG=yes ;;esac# If the build is for an e500 toolchain then enable-add-ons in# glibc cinfiguration needs to have the string spe added. - Stevepif [ `echo ${TOOLCHAIN_PREFIX} | grep "gnuspe"` ]then GLIBC_ADD_ONS="linuxthreads,spe"else GLIBC_ADD_ONS="linuxthreads"fi# Temporary hack - stevep# For building toolchain components an optimized version of the# target is needed. This should really be defined in the config# area of ltib, and not done in the toolchain spec files.# For now we assume that the optimised target can be derived by# stripping the trailing "-" off the toolchain prefix, but this# will not be true for all cases, eg when using uClibc toolchains.OPT_CFGHOST=`echo ${TOOLCHAIN_PREFIX} | perl -n -e 's,-$,,;print'`rm -rf build-glibcmkdir build-glibccd build-glibcCC="${TOOLCHAIN_PREFIX}gcc" BUILD_CC="${BUILDCC}" CFLAGS="-O" \AR="${TOOLCHAIN_PREFIX}ar" RANLIB="${TOOLCHAIN_PREFIX}ranlib" \../configure --prefix=/usr --build=%{_build} --host=${OPT_CFGHOST} \--enable-kernel=2.4.3 --without-cvs --disable-profile --disable-debug \--without-gd --without-tls --without-__thread --enable-shared \--enable-add-ons=${GLIBC_ADD_ONS} --with-fp=${FPU_FLAG} \--with-headers=${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/includemake LD="${TOOLCHAIN_PREFIX}ld" RANLIB="${TOOLCHAIN_PREFIX}ranlib"%Installcd build-glibcmake install install_root=${RPM_BUILD_ROOT}/%{pfx}# remove absolute paths from text search files (if they exist)perl -w -e ' @ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV; exit(0) unless @ARGV; $^I = ".bak"; while(<>) { s,[\S/]+/,,g if m,^GROUP,; print; } ' ${RPM_BUILD_ROOT}/%{pfx}/lib/libc.so \ ${RPM_BUILD_ROOT}/%{pfx}/lib/libpthread.so \ ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/lib/libc.so \ ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/lib/libpthread.so# Remove libtool .la files.find $RPM_BUILD_ROOT/%{pfx} -name \*.la -exec rm {} \;%Cleanrm -rf ${RPM_BUILD_ROOT}%Files%defattr(-,root,root)%{pfx}/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -