]> git.pld-linux.org Git - packages/crossmingw32-libffi.git/blame - crossmingw32-libffi.spec
- adapted from native libffi
[packages/crossmingw32-libffi.git] / crossmingw32-libffi.spec
CommitLineData
5a3544d1
JB
1Summary: Foreign Function Interface library (cross MinGW32 version)
2Summary(pl.UTF-8): Biblioteka Foreign Function Interface (wersja skrośna MinGW32)
3Name: crossmingw32-libffi
4Version: 3.0.10
5Release: 1
6License: MIT-like
7Group: Libraries
8Source0: ftp://sourceware.org/pub/libffi/libffi-%{version}.tar.gz
9# Source0-md5: 79390673f5d07a8fb342bc09b5055b6f
10URL: http://sources.redhat.com/libffi/
11BuildRequires: autoconf >= 2.63
12BuildRequires: automake
13BuildRequires: libtool
14BuildRequires: texinfo
15Requires: crossmingw32-runtime
16BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
17
18%define no_install_post_strip 1
19
20%define target i386-mingw32
21%define target_platform i386-pc-mingw32
22
23%define _sysprefix /usr
24%define _prefix %{_sysprefix}/%{target}
25%define _libdir %{_prefix}/lib
26%define _pkgconfigdir %{_prefix}/lib/pkgconfig
27%define _dlldir /usr/share/wine/windows/system
28%define __cc %{target}-gcc
29
30%ifnarch %{ix86}
31# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
32%define optflags -O2
33%endif
34# -z options are invalid for mingw linker
35%define filterout_ld -Wl,-z,.*
36
37%description
38The libffi library provides a portable, high level programming
39interface to various calling conventions. This allows a programmer to
40call any function specified by a call interface description at
41run-time.
42
43Ffi stands for Foreign Function Interface. A foreign function
44interface is the popular name for the interface that allows code
45written in one language to call code written in another language. The
46libffi library really only provides the lowest, machine dependent
47layer of a fully featured foreign function interface. A layer must
48exist above libffi that handles type conversions for values passed
49between the two languages.
50
51This package contains the cross version for MinGW32.
52
53%description -l pl.UTF-8
54Biblioteka libffi dostarcza przenośny, wysokopoziomowy interfejs do
55różnych konwencji wywołań funkcji. Pozwala to programiście wywołać
56dowolną funkcję podaną przez opis interfejsu wywołania w czasie
57działania programu.
58
59FFI to skrót od Foreign Function Interface, czyli interfejsu do obcych
60funkcji. Jest to potoczna nazwa interfejsu pozwalającego programowi
61napisanemu w jednym języku wywoływać kod napisany w innym języku.
62Biblioteka libffi daje tylko najniższą, zależną od maszyny warstwę
63pełnego interfejsu. Potrzebne są wyższe warstwy do obsługi konwersji
64typów dla wartości przekazywanych pomiędzy różnymi językami.
65
66Ten pakiet zawiera wersję skrośną dla MinGW32.
67
68%package static
69Summary: Static libffi library (cross MinGW32 version)
70Summary(pl.UTF-8): Statyczna biblioteka libffi (wersja skrośna MinGW32)
71Group: Development/Libraries
72Requires: %{name} = %{version}-%{release}
73
74%description static
75Static libffi library (cross MinGW32 version).
76
77%description static -l pl.UTF-8
78Statyczna biblioteka libffi (wersja skrośna MinGW32).
79
80%package dll
81Summary: Foreign Function Interface DLL library for Windows
82Summary(pl.UTF-8): Biblioteka DLL Foreign Function Interface dla Windows
83Group: Applications/Emulators
84Requires: wine
85
86%description dll
87Foreign Function Interface DLL library for Windows.
88
89%description dll -l pl.UTF-8
90Biblioteka DLL Foreign Function Interface dla Windows.
91
92%prep
93%setup -q -n libffi-%{version}
94
95%build
96%{__libtoolize}
97%{__aclocal} -I m4
98%{__autoconf}
99%{__autoheader}
100%{__automake}
101%configure \
102 --target=%{target} \
103 --host=%{target}
104
105%{__make}
106
107%install
108rm -rf $RPM_BUILD_ROOT
109
110%{__make} install \
111 DESTDIR=$RPM_BUILD_ROOT
112
113install -d $RPM_BUILD_ROOT%{_dlldir}
114mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
115
116%if 0%{!?debug:1}
117%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
118%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
119%endif
120
121%{__rm} -r $RPM_BUILD_ROOT{%{_mandir},%{_infodir}}
122
123%clean
124rm -rf $RPM_BUILD_ROOT
125
126%files
127%defattr(644,root,root,755)
128%doc ChangeLog* LICENSE README
129%{_libdir}/libffi.dll.a
130%{_libdir}/libffi.la
131%{_libdir}/libffi-%{version}
132%{_pkgconfigdir}/libffi.pc
133
134%files static
135%defattr(644,root,root,755)
136%{_libdir}/libffi.a
137
138%files dll
139%defattr(644,root,root,755)
140%{_dlldir}/libffi-5.dll
This page took 1.607784 seconds and 4 git commands to generate.