15e5a28
Name:		libffi
8ab5dae
Version:	3.0.5
15e5a28
Release:	1%{?dist}
15e5a28
Summary:	A portable foreign function interface library
15e5a28
15e5a28
Group:		System Environment/Libraries
15e5a28
License:	BSD
15e5a28
URL:		http://sourceware.org/libffi
15e5a28
Source0:	http://sourceware.org/libffi/libffi-%{version}.tar.gz
15e5a28
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
15e5a28
15e5a28
%description
15e5a28
Compilers for high level languages generate code that follow certain
15e5a28
conventions.  These conventions are necessary, in part, for separate
15e5a28
compilation to work.  One such convention is the "calling convention".
15e5a28
The calling convention is a set of assumptions made by the compiler
15e5a28
about where function arguments will be found on entry to a function.  A
15e5a28
calling convention also specifies where the return value for a function
15e5a28
is found.  
15e5a28
15e5a28
Some programs may not know at the time of compilation what arguments
15e5a28
are to be passed to a function.  For instance, an interpreter may be
15e5a28
told at run-time about the number and types of arguments used to call a
15e5a28
given function.  `Libffi' can be used in such programs to provide a
15e5a28
bridge from the interpreter program to compiled code.
15e5a28
15e5a28
The `libffi' library provides a portable, high level programming
15e5a28
interface to various calling conventions.  This allows a programmer to
15e5a28
call any function specified by a call interface description at run time.
15e5a28
15e5a28
FFI stands for Foreign Function Interface.  A foreign function
15e5a28
interface is the popular name for the interface that allows code
15e5a28
written in one language to call code written in another language.  The
15e5a28
`libffi' library really only provides the lowest, machine dependent
15e5a28
layer of a fully featured foreign function interface.  A layer must
15e5a28
exist above `libffi' that handles type conversions for values passed
15e5a28
between the two languages.  
15e5a28
15e5a28
15e5a28
%package	devel
15e5a28
Summary:	Development files for %{name}
15e5a28
Group:		Development/Libraries
15e5a28
Requires:	%{name} = %{version}-%{release}
15e5a28
Requires:       pkgconfig
15e5a28
Requires(post): /sbin/install-info
15e5a28
Requires(preun): /sbin/install-info
15e5a28
15e5a28
%description	devel
15e5a28
The %{name}-devel package contains libraries and header files for
15e5a28
developing applications that use %{name}.
15e5a28
15e5a28
15e5a28
%prep
15e5a28
%setup -q
15e5a28
15e5a28
15e5a28
%build
15e5a28
%configure --disable-static
15e5a28
make %{?_smp_mflags}
15e5a28
15e5a28
15e5a28
%install
15e5a28
rm -rf $RPM_BUILD_ROOT
15e5a28
make install DESTDIR=$RPM_BUILD_ROOT
15e5a28
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
15e5a28
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
15e5a28
15e5a28
15e5a28
%clean
15e5a28
rm -rf $RPM_BUILD_ROOT
15e5a28
15e5a28
15e5a28
%post -p /sbin/ldconfig
15e5a28
15e5a28
%post devel
15e5a28
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
15e5a28
15e5a28
%preun devel
15e5a28
if [ $1 = 0 ] ;then
15e5a28
  /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
15e5a28
fi
15e5a28
15e5a28
%postun -p /sbin/ldconfig
15e5a28
15e5a28
15e5a28
%files
15e5a28
%defattr(-,root,root,-)
15e5a28
%doc LICENSE README
15e5a28
%{_libdir}/*.so.*
15e5a28
15e5a28
%files devel
15e5a28
%defattr(-,root,root,-)
15e5a28
%{_libdir}/pkgconfig/*.pc
15e5a28
%{_libdir}/%{name}-%{version}
15e5a28
%{_libdir}/*.so
15e5a28
%{_mandir}/man3/*.gz
15e5a28
%{_infodir}/libffi.info.gz
15e5a28
15e5a28
%changelog
8ab5dae
* Tue Jul 08 2008 Anthony Green <green@redhat.com> 3.0.5-1
8ab5dae
- Upgrade to 3.0.5
8ab5dae
15e5a28
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 3.0.1-1
15e5a28
- Upgrade to 3.0.1
15e5a28
15e5a28
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 2.99.9-1
15e5a28
- Upgrade to 2.99.9
15e5a28
- Require pkgconfig for the devel package.
15e5a28
- Update summary.
15e5a28
15e5a28
* Fri Feb 15 2008 Anthony Green <green@redhat.com> 2.99.8-1
15e5a28
- Upgrade to 2.99.8
15e5a28
15e5a28
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.7-1
15e5a28
- Upgrade to 2.99.7
15e5a28
15e5a28
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.6-1
15e5a28
- Upgrade to 2.99.6
15e5a28
15e5a28
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.4-1
15e5a28
- Upgrade to 2.99.4
15e5a28
15e5a28
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.3-1
15e5a28
- Upgrade to 2.99.3
15e5a28
15e5a28
* Thu Feb 14 2008 Anthony Green <green@redhat.com> 2.99.2-1
15e5a28
- Created.