Added win64 support

- Added win64 support
- Automatically generate debuginfo subpackage
- Added static subpackage
This commit is contained in:
Erik van Pienbroek 2012-03-10 20:23:34 +01:00
parent 4271308caf
commit 0975d2816d

View File

@ -5,12 +5,14 @@
# ncurses. So here we are using the GNU termcap library which is
# regretably GPL'd.
%define __strip %{mingw32_strip}
%define __objdump %{mingw32_objdump}
%?mingw_package_header
%global mingw_build_win32 1
%global mingw_build_win64 1
Name: mingw-termcap
Version: 1.3.1
Release: 12%{?dist}
Release: 13%{?dist}
Summary: MinGW terminal feature database
License: GPLv2+
@ -20,10 +22,14 @@ Source0: ftp://ftp.gnu.org/gnu/termcap/termcap-%{version}.tar.gz
BuildArch: noarch
BuildRequires: mingw32-filesystem
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc
BuildRequires: mingw32-binutils
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc
BuildRequires: mingw64-binutils
BuildRequires: autoconf
@ -38,6 +44,7 @@ This package contains libraries and development tools for the MinGW
cross-compiled version.
# Win32
%package -n mingw32-termcap
Summary: MinGW terminal feature database
@ -51,6 +58,37 @@ other termcap libraries.
This package contains libraries and development tools for the MinGW
cross-compiled version.
%package -n mingw32-termcap-static
Summary: Static version of the cross compiled termcap library
Requires: mingw32-termcap = %{version}-%{release}
%description -n mingw32-termcap-static
Static version of the cross compiled termcap library.
# Win64
%package -n mingw64-termcap
Summary: MinGW terminal feature database
%description -n mingw64-termcap
This is the GNU termcap library -- a library of C functions that
enable programs to send control strings to terminals in a way
independent of the terminal type. The GNU termcap library does not
place an arbitrary limit on the size of termcap entries, unlike most
other termcap libraries.
This package contains libraries and development tools for the MinGW
cross-compiled version.
%package -n mingw64-termcap-static
Summary: Static version of the cross compiled termcap library
Requires: mingw64-termcap = %{version}-%{release}
%description -n mingw64-termcap-static
Static version of the cross compiled termcap library.
%?mingw_debug_package
%prep
%setup -q -n termcap-%{version}
@ -60,34 +98,53 @@ autoconf
%build
%{mingw32_configure}
make
%mingw_configure
%mingw_make %{?_smp_mflags}
# Build a shared library. No need for -fPIC on Windows.
pushd build_win32
%{mingw32_cc} -shared \
-Wl,--out-implib,libtermcap.dll.a \
-o libtermcap-0.dll \
termcap.o tparam.o version.o
popd
pushd build_win64
%{mingw64_cc} -shared \
-Wl,--out-implib,libtermcap.dll.a \
-o libtermcap-0.dll \
termcap.o tparam.o version.o
popd
%install
make install \
# We can't use the %%mingw_make_install macro here as
# the Makefile doesn't support the DESTDIR=... flag
make install -C build_win32 \
prefix=$RPM_BUILD_ROOT%{mingw32_prefix} \
exec_prefix=$RPM_BUILD_ROOT%{mingw32_prefix} \
oldincludedir=
make install -C build_win64 \
prefix=$RPM_BUILD_ROOT%{mingw64_prefix} \
exec_prefix=$RPM_BUILD_ROOT%{mingw64_prefix} \
oldincludedir=
# Move the shared library to the correct locations.
mkdir -p $RPM_BUILD_ROOT%{mingw32_bindir}
install -m 0755 libtermcap-0.dll $RPM_BUILD_ROOT%{mingw32_bindir}
install -m 0755 libtermcap.dll.a $RPM_BUILD_ROOT%{mingw32_libdir}
install -m 0755 build_win32/libtermcap-0.dll $RPM_BUILD_ROOT%{mingw32_bindir}
install -m 0755 build_win32/libtermcap.dll.a $RPM_BUILD_ROOT%{mingw32_libdir}
# Don't want the static library, thank you.
rm $RPM_BUILD_ROOT%{mingw32_libdir}/libtermcap.a
mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir}
install -m 0755 build_win64/libtermcap-0.dll $RPM_BUILD_ROOT%{mingw64_bindir}
install -m 0755 build_win64/libtermcap.dll.a $RPM_BUILD_ROOT%{mingw64_libdir}
# Move the info files to the correct location.
mkdir -p $RPM_BUILD_ROOT%{mingw32_infodir}
mv $RPM_BUILD_ROOT%{mingw32_prefix}/info/* $RPM_BUILD_ROOT%{mingw32_infodir}
mkdir -p $RPM_BUILD_ROOT%{mingw64_infodir}
mv $RPM_BUILD_ROOT%{mingw64_prefix}/info/* $RPM_BUILD_ROOT%{mingw64_infodir}
%files -n mingw32-termcap
%doc COPYING
@ -98,8 +155,26 @@ mv $RPM_BUILD_ROOT%{mingw32_prefix}/info/* $RPM_BUILD_ROOT%{mingw32_infodir}
# there is no equivalent native Fedora package.
%{mingw32_infodir}/*
%files -n mingw32-termcap-static
%{mingw32_libdir}/libtermcap.a
%files -n mingw64-termcap
%doc COPYING
%{mingw64_bindir}/libtermcap-0.dll
%{mingw64_libdir}/libtermcap.dll.a
%{mingw64_includedir}/termcap.h
%{mingw64_infodir}/*
%files -n mingw64-termcap-static
%{mingw64_libdir}/libtermcap.a
%changelog
* Sat Mar 10 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.3.1-13
- Added win64 support
- Automatically generate debuginfo subpackage
- Added static subpackage
* Wed Mar 07 2012 Kalev Lember <kalevlember@gmail.com> - 1.3.1-12
- Renamed the source package to mingw-termcap (#801034)
- Modernize the spec file