%define SVN 10391 Name: uClibc Version: 0.9.28 %if "%SVN" != "" Release: 0.%SVN.1ark %else Release: 1ark %endif Summary: A small implementation of the C library (libc) URL: http://www.uclibc.org/ %if "%SVN" == "" Source: uClibc-%version.tar.bz2 %else Source: uClibc-%SVN.tar.bz2 %endif Source1: http://www.uclibc.org/downloads/uClibc-locale-030818.tar.bz2 # From http://bugs.uclibc.org/view.php?id=144 Source2: math-susv3-no-exp2.tar.bz2 Patch1: uClibc-20050404-compile.patch Patch2: uClibc-20040905-xscale.patch Patch3: uClibc-20040901-floatfuncs.patch Patch4: uClibc-20050120-localefile.patch # From http://bugs.uclibc.org/view.php?id=144 Patch10: uClibc-0.9.27-susv3.patch Patch11: uClibc-0.9.27-susv3-ldouble.patch Patch12: uClibc-0.9.27-exp2.patch Patch13: uClibc-0.9.27-nearbyint.patch Patch14: uClibc-0.9.27-nexttoward.patch Patch15: uClibc-0.9.27-math_priv-correction.patch Patch16: uclibc-0.9.27-fpmacros.patch Patch17: uclibc-0.9.27-ldouble-option.patch # Configs... Source100: uClibc-config.arch-i386 Source101: uClibc-config.i386 Source102: uClibc-config.i486 Source103: uClibc-config.i586 Source104: uClibc-config.i686 Source105: uClibc-config.pentium3 Source106: uClibc-config.pentium4 Source107: uClibc-config.athlon Source200: uClibc-config.arch-arm Source201: uClibc-config.xscale Source202: uClibc-config.armv4l License: GPL Group: System/Libraries Prefix: %_prefix BuildRoot: %_tmppath/%name-root %description A small implementation of the C library (libc), primarily for use in embedded devices %package devel Summary: Development files for %name Group: Development/Libraries Requires: %name = %version-%release %description devel Development files (Headers etc.) for %name. %name is a small implementation of the C library (libc), primarily for use in embedded devices %package static Summary: Static libraries for linking to %name Group: Development/Libraries Requires: %name-devel = %version-%release %description static Static libraries for linking to %name. Install this package if you wish to develop or compile applications using %name statically (users of the resulting binary won't need %name installed with static linking). %prep %setup -q -n uClibc -a 2 ##%patch1 -p1 -b .compile~ %patch2 -p1 -b .xscale~ #patch3 -p1 -b .floatfuncs~ ##%patch4 -p1 -b .locale~ # Float... %patch10 -p1 -b .susv3~ %patch11 -p1 -b .susv3-ldouble~ %patch12 -p1 -b .exp2~ %patch13 -p1 -b .nearbyint~ %patch14 -p1 -b .nexttoward~ %patch15 -p1 -b .mathpriv~ %patch16 -p0 -b .fpmacros~ %patch17 -p1 -b .ldouble~ cp %SOURCE1 extra/locale OS=linux-uclibc CPU=%_target_cpu ARCH=%_arch if echo $ARCH |grep -q '^arm'; then ARCH=arm fi cat $RPM_SOURCE_DIR/uClibc-config.arch-$ARCH >.config [ -e $RPM_SOURCE_DIR/uClibc-config.$CPU ] && cat $RPM_SOURCE_DIR/uClibc-config.$CPU >>.config if [ "$ARCH" = "arm" ]; then # HACK echo 'KERNEL_SOURCE="/usr/src/CVS/handhelds/linux/kernel"' >>.config else echo 'KERNEL_SOURCE="/usr/src/linux-'`rpm -q --qf '%{VERSION}-%{RELEASE}' kernel-source`'"' >>.config fi %if %cross_compiling echo 'CROSS_COMPILER_PREFIX="'$CPU-ark-$OS-'"' >>.config echo 'RUNTIME_PREFIX="'%_prefix'"' >>.config echo 'DEVEL_PREFIX="'%_prefix'"' >>.config echo 'SHARED_LIB_LOADER_PREFIX="'%_libdir'"' >>.config %else echo 'CROSS_COMPILER_PREFIX=""' >>.config echo 'RUNTIME_PREFIX="'%_prefix/$CPU-ark-$OS'"' >>.config echo 'DEVEL_PREFIX="'%_prefix/$CPU-ark-$OS'"' >>.config echo 'SHARED_LIB_LOADER_PREFIX="'%_prefix/$CPU-ark-$OS'/lib"' >>.config %endif make oldconfig %build CROSSPREFIX="" which %_target_platform-strip &>/dev/null && CROSSPREFIX="%_target_platform-" which %_target_platform-uclibc-strip &>/dev/null && CROSSPREFIX="%_target_platform-uclibc-" make %?_smp_mflags CROSS="$CROSSPREFIX" %install rm -rf $RPM_BUILD_ROOT make %?_smp_mflags install PREFIX="$RPM_BUILD_ROOT" OS=linux-uclibc CPU=%_target_cpu ARCH=%_arch if echo $ARCH |grep -q '^arm'; then ARCH=arm fi [ "$ARCH" = "xscale" ] && ARCH=arm if [ "$ARCH" != "arm" ]; then # We need linux/version.h... KERNEL=`rpm -q --qf '%{VERSION}-%{RELEASE}' kernel-source` %if %cross_compiling install -c -m 644 /boot/version.h-$KERNEL $RPM_BUILD_ROOT/%_includedir/linux/version.h install -c -m 644 /boot/autoconf.h-$KERNEL $RPM_BUILD_ROOT/%_includedir/linux/autoconf.h %else install -c -m 644 /boot/version.h-$KERNEL $RPM_BUILD_ROOT/%_prefix/$CPU-ark-$OS/include/linux/version.h install -c -m 644 /boot/autoconf.h-$KERNEL $RPM_BUILD_ROOT/%_prefix/$CPU-ark-$OS/include/linux/autoconf.h %endif fi %files %defattr(-,root,root) %if %cross_compiling %_libdir/*.so* %optional %_libdir/*crt*.o %else %dir %_prefix/*-ark-* %dir %_prefix/*/lib %_prefix/*/lib/*.so* %optional %_prefix/*/lib/*crt*.o %endif %files devel %defattr(-,root,root) %if %cross_compiling %_includedir/* %else %_prefix/*/include %endif %files static %defattr(-,root,root) %if %cross_compiling %_libdir/*.a %else %_prefix/*/lib/*.a %endif %clean rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%name-%version %changelog * Sun May 22 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10391.1ark - Update - Add the missing SuSv3 / ISO C99 math functions - WARNING: Until further notice, all releases after 10391 are broken on anything but x86 and ppc -- don't update * Thu Jan 20 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10240.1ark - Update * Thu Jan 20 2005 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.28-0.10124.1ark - Update * Wed Nov 3 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041103.1ark - Add exp2() implementation - Update * Tue Nov 2 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041101.1ark - Add linux/version.h linux/autoconf.h * Thu Oct 28 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041028.1ark - Add C99 math support, needed for ALSA * Wed Oct 27 2004 Bernhard Rosenrkaenzer <bero@arklinux.org> 0.9.27-0.20041027.1ark - Enable some more stuff in the x86 version, needed to build X - Update * Sun Oct 17 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20041017.1ark - Add a config for StrongARM 1100 - Update * Wed Sep 29 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040929.1ark - Enable locale support (needed by TinyX) * Mon Sep 27 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040927.1ark - Support soft-float ARM CPUs - Update * Wed Sep 22 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040922.1ark - Crosscompiler improvements, we can now use rpm -ba --target xscale - Add preliminary cosf, sinf, rintf implementations (neither fast nor precise, just a quick hack using cos, sin and rint) - Update * Sun Sep 5 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040904.1ark - Update - Spec file tweaks to allow crosscompiling - An Xscale is an armv5te, not just an armv4 * Fri Jun 18 2004 Bernhard Rosenkraenzer <bero@arklinux.org> 0.9.27-0.20040618.1ark - initial RPM