3 changed files with 110 additions and 0 deletions
@ -0,0 +1,101 @@
|
||||
## |
||||
## libffi.spec -- OpenPKG RPM Specification |
||||
## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH |
||||
## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/> |
||||
## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package information |
||||
Name: libffi |
||||
Summary: GCC Foreign Function Interface (FFI) Library |
||||
URL: http://sources.redhat.com/libffi/ |
||||
Vendor: The GCC Project |
||||
Packager: The OpenPKG Project |
||||
Distribution: OpenPKG [EVAL] |
||||
Group: Language |
||||
License: LGPL |
||||
Version: 20030208 |
||||
Release: 20030208 |
||||
|
||||
# list of sources |
||||
Source0: libffi.tar.gz |
||||
|
||||
# build information |
||||
Prefix: %{l_prefix} |
||||
BuildRoot: %{l_buildroot} |
||||
BuildPreReq: OpenPKG, openpkg >= 20030103 |
||||
PreReq: OpenPKG, openpkg >= 20030103 |
||||
AutoReq: no |
||||
AutoReqProv: no |
||||
|
||||
%description |
||||
Compilers for high level languages generate code that follows |
||||
certain conventions. These conventions are necessary, in part, for |
||||
separate compilation to work. One such convention is the "calling |
||||
convention". The "calling convention" is a set of assumptions |
||||
made by the compiler about where function arguments will be found |
||||
on entry to a function. A "calling convention" also specifies |
||||
where the return value for a function is found. Some programs |
||||
may not know at the time of compilation what arguments are to be |
||||
passed to a function. For instance, an interpreter may be told at |
||||
run-time about the number and types of arguments used to call a |
||||
given function. Libffi can be used in such programs to provide a |
||||
bridge from the interpreter program to compiled code. |
||||
|
||||
The libffi library provides a portable, high level programming |
||||
interface to various calling conventions. This allows a programmer |
||||
to call any function specified by a call interface description at |
||||
run-time. Ffi stands for Foreign Function Interface. A foreign |
||||
function interface is the popular name for the interface that |
||||
allows code written in one language to call code written in another |
||||
language. The libffi library really only provides the lowest, |
||||
machine dependent layer of a fully featured foreign function |
||||
interface. A layer must exist above libffi that handles type |
||||
conversions for values passed between the two languages. |
||||
|
||||
%prep |
||||
%setup -q -c |
||||
|
||||
%build |
||||
cd gcc/libffi |
||||
srcdir=. \ |
||||
CC="%{l_cc}" \ |
||||
CFLAGS="%{l_cflags -O}" \ |
||||
CPPFLAGS="%{l_cppflags}" \ |
||||
LDFLAGS="%{l_ldflags}" \ |
||||
./configure \ |
||||
--with-multisrctop=src/ \ |
||||
--prefix=%{l_prefix} \ |
||||
--disable-shared |
||||
%{l_make} %{l_mflags -O} |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
( cd gcc/libffi |
||||
%{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" ) |
||||
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
#!/bin/sh |
||||
echo "++ unpacking old libffi.tar.gz" |
||||
gunzip <libffi.tar.gz | tar xf - |
||||
echo "++ updating contents via CVS" |
||||
( cd gcc; cvs -q update -P -d [a-z]* ) |
||||
echo "++ packing new libffi.tar.gz" |
||||
tar cf - gcc | gzip -9 >libffi.tar.gz |
||||
echo "++ cleaning up" |
||||
rm -rf gcc |
Loading…
Reference in new issue