File avr-libc.spec of Package avr-libc
#
# spec file for package avr-libc (Version 1.6.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: avr-libc
BuildRequires: cross-avr-binutils cross-avr-gcc doxygen findutils
Version: 1.6.1
Release: 1
Url: http://savannah.nongnu.org/projects/avr-libc
Group: Development/Libraries/C and C++
License: BSD 3-Clause
Summary: The C Runtime Library for AVR Microcontrollers
Source: http://savannah.nongnu.org/download/%{name}/%{name}-%{version}.tar.bz2
Source1: http://savannah.nongnu.org/download/%{name}/%{name}-user-manual-%{version}.tar.bz2
Source2: http://savannah.nongnu.org/download/%{name}/%{name}-manpages-%{version}.tar.bz2
Source3: logicp-1.01.tgz
Source4: avr_isp.pl
Source5: avr_common.mk
Patch: contrib-examples.diff
AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: cross-avr-binutils cross-avr-gcc avr-programmer
%description
The C runtime library for the AVR family of microcontrollers for use
with the GNU toolset (cross-avr-binutils, cross-avr-gcc, uisp, etc.).
Authors:
--------
Joerg Wunsch <j.gnu@uriah.heep.sax.de>
Marek Michalkiewicz <marekm@amelek.gda.pl>
Theodore A. Roth <troth@openavr.org>
%prep
%setup -b 3
%patch -p1
# %ifarch x86_64 ia64 ppc64
# # avr-64bit datatypes fail on 64bit host architectures.
# # it is a bug, isn't it? 2007-01-08, jw
# %patch -p1
# %else
# %if "%(/bin/uname -i)" == "x86_64"
# # we come here with BUILD_DIST=i386 on a x86_64 machine.
# # we need to cover this case too, to make the selftests happy.
# %patch -p1
# %endif
# %endif
%build
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
export PREFIX=/opt/cross
# export NO_BRP_STRIP_DEBUG=true
## silly hack, to be removed when the target is no longer avr-elf but avr.
# for tool in as ar gcc ranlib; do
# test -f $PREFIX/bin/avr-$tool || \
# ln -s avr-elf-$tool $PREFIX/bin/avr-$tool
# done
./configure --prefix=$PREFIX --host=avr
make %{?jobs:-j%jobs}
%install
export PREFIX=/opt/cross
cp %{S:4} %{S:5} doc/examples
# ./domake DESTDIR=$RPM_BUILD_ROOT install
make DESTDIR=$RPM_BUILD_ROOT install
tar jxvf %{S:1}
mv %{name}-user-manual-%{version} user-manual-%{version}
mkdir -p $RPM_BUILD_ROOT/usr/share/doc/packages/%{name}
cp -pr AUTHORS ChangeLog INSTALL LICENSE NEWS user-manual-%{version} $RPM_BUILD_ROOT/usr/share/doc/packages/%{name}
ln -s /usr/share/doc/packages/%{name}/user-manual-%{version} $RPM_BUILD_ROOT/$PREFIX/share/doc/%{name}-%{version}/user-manual
tar jxvf %{S:2} -C $RPM_BUILD_ROOT/$PREFIX/share
# gzipped to make http://dist.suse.de/data/i386/lint/avr-libc happy.
find $RPM_BUILD_ROOT/$PREFIX/share/man -type f -print | xargs gzip
#
### selftest ###
cd ../logicp*
## how do we tell the linker that crt*.o is at a nonstandard location?
ln -s $RPM_BUILD_ROOT/opt/cross/avr/lib/crttn*.o .
ln -s $RPM_BUILD_ROOT/opt/cross/avr/lib/avr?/crtm*.o .
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT/opt/cross/avr/include/ -L$RPM_BUILD_ROOT/opt/cross/avr/lib/avr4" CPU=mega8
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT/opt/cross/avr/include/ -L$RPM_BUILD_ROOT/opt/cross/avr/lib/avr4" CPU=mega48
make test CFLAGS="-Wall -g -Os -mint8 -I$RPM_BUILD_ROOT/opt/cross/avr/include/ -L$RPM_BUILD_ROOT/opt/cross/avr/lib" CPU=tiny2313
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr (-, root, root)
%doc /usr/share/doc/packages/%{name}
/opt/*
# %doc /usr/share/man/man?/*.*
%changelog
* Wed Jan 30 2008 jw@suse.de
- update to 1.6.1
* The fplib/math library is completely rewritten.
* Functions of numbers to ascii conversion are completely rewritten.
* Test suite is added to the Avr-libc project.
* A few new util's headers: util/atomic.h, util/setbaud.h.
* Many new devices added, many revised.
* Sat Oct 13 2007 bwalle@suse.de
- update to 1.4.6
o Exclude 64-bit types for -mint8 (obsoletes no64bit_int.patch)
o varios bugfixes (upstream #18115, #18385, #18509, #18662,
[#18686], #18688, #18726, #18899, #18903, #18915, #19009, #19050,
[#19060], #19134, #19135, #19280, #19281, #19445, #19495, #19650,
[#19666] #19841)
o new devices: AT90USB82, AT90USB162, ATmega325P, ATmega3250P,
ATmega329P, ATmega3290P, AT90PWM1, ATmega8HVA, ATmega16HVA
o The "largedemo" has been ported to the ATtiny2313.
o Integrate a copy of the license file into the documentation.
o Include an alphabetical index of all globals
o Added 'avr25' architecture.
o new functions (memchr_P, memcmp_P, memmem, memmem_P, memrchr,
memrchr_P, strcasestr, strcasestr_P, strchrnul, strchrnul_P,
strchr_P, strcspn, strcspn_P, strpbrk, strpbrk_P, strrchr_P,
strsep_P, strspn, strspn_P)
o Optimized functions (atoi, atol, strchr, strcmp, strcmp_P,
strlwr, strrev, strsep, strstr, strstr_P, strupr)
* Thu Apr 05 2007 jw@suse.de
- gzipped manpages to make rpmlint happy.
user-manual moved *into* /usr/share/doc/packages/avr-libc.
* Mon Jan 15 2007 jw@suse.de
- 64bit datatypes on 64bit hosts only fail with -mint8
Now properly ifdefed.
* Tue Jan 09 2007 jw@suse.de
- update to 1.4.5
ATmega165P/169P support. Fixes to the HD44780 driver.
Power Management API. New "asmdemo" example.
sleep.h: Fix the entry for the ATtiny2313.
new devices: ATmega2560, ATmega2561.
fp_split.S: Pop 3 bytes for avr6
Bugs fixed: 15512 16125 16411 16434 16441
16868 17068 17470 17551 17591 17608
- make test now tests 3 CPUs
* Tue Jan 09 2007 jw@suse.de
- compiling and linking my logicp application
as a simple selftest.
- avr-64bit datatypes fail on 64bit hosts.
* Tue May 30 2006 jw@suse.de
- update to 1.4.4
added /opt/cross/share/man/man3/* and /opt/cross/share/doc symlink
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 10 2006 jw@suse.de
- update to 1.4.2
* Wed Nov 23 2005 jw@suse.de
- upstreamed patches removed.
- update to 1.4.0
* Wed Oct 05 2005 dmueller@suse.de
- add norootforbuild
* Wed Aug 17 2005 jw@suse.de
- update to 1.2.5, fixes many things for atmega48
e.g. [#105226].
* Tue May 17 2005 jw@suse.de
- removed dependency on uisp.
* Wed May 11 2005 jw@suse.de
- initial version: avr-libc-1.2.3