From d179d64f67592ec7af150407e09d76bae8df7f07 Mon Sep 17 00:00:00 2001 From: Erik van Pienbroek Date: Sat, 14 Apr 2012 20:48:51 +0200 Subject: [PATCH] Added win64 support --- mingw-dlfcn.spec | 69 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 14 deletions(-) diff --git a/mingw-dlfcn.spec b/mingw-dlfcn.spec index 3fc3c10..43f97f7 100644 --- a/mingw-dlfcn.spec +++ b/mingw-dlfcn.spec @@ -1,6 +1,4 @@ -%global __strip %{mingw32_strip} -%global __objdump %{mingw32_objdump} -%define __debug_install_post %{mingw32_debug_install_post} +%?mingw_package_header %global realname dlfcn-win32 @@ -8,7 +6,7 @@ Name: mingw-dlfcn Version: 0 -Release: 0.12.%{alphatag}%{?dist} +Release: 0.13.%{alphatag}%{?dist} Summary: Implements a wrapper for dlfcn (dlopen dlclose dlsym dlerror) License: LGPLv2+ @@ -18,9 +16,14 @@ Source0: http://dlfcn-win32.googlecode.com/files/%{realname}-%{alphatag}.t BuildArch: noarch -BuildRequires: mingw32-filesystem >= 68 +BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils + +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils + #BuildRequires: dos2unix Patch1: dlfcn_configure.patch @@ -33,6 +36,7 @@ This library implements a wrapper for dlfcn, as specified in POSIX and SUS, around the dynamic link library functions found in the Windows API. +# Win32 %package -n mingw32-dlfcn Summary: Implements a wrapper for dlfcn (dlopen dlclose dlsym dlerror) @@ -48,8 +52,24 @@ Group: Development/Libraries %description -n mingw32-dlfcn-static Static version of the MinGW Windows dlfcn library. +# Win64 +%package -n mingw64-dlfcn +Summary: Implements a wrapper for dlfcn (dlopen dlclose dlsym dlerror) + +%description -n mingw64-dlfcn +This library implements a wrapper for dlfcn, as specified in POSIX and SUS, +around the dynamic link library functions found in the Windows API. + +%package -n mingw64-dlfcn-static +Summary: Static version of the MinGW Windows dlfcn library +Requires: mingw64-dlfcn = %{version}-%{release} +Group: Development/Libraries + +%description -n mingw64-dlfcn-static +Static version of the MinGW Windows dlfcn library. + -%{?mingw32_debug_package} +%?mingw_debug_package %prep @@ -65,19 +85,27 @@ Static version of the MinGW Windows dlfcn library. %build -%{mingw32_configure} \ - --incdir=%{mingw32_includedir} \ - --cc=i686-w64-mingw32-gcc \ - --enable-shared=yes \ - --enable-static=yes \ - --enable-strip=i686-w64-mingw32-strip -make %{?_smp_mflags} +export MINGW32_CONFIGURE_ARGS="--incdir=%{mingw32_includedir} --cc=%{mingw32_cc} --enable-strip=%{mingw32_strip}" +export MINGW64_CONFIGURE_ARGS="--incdir=%{mingw64_includedir} --cc=%{mingw64_cc} --enable-strip=%{mingw64_strip}" +%mingw_configure --enable-shared --enable-static + +# This package doesn't support out of source compilation by default +# Fix this manually +sed -i s@'dlfcn.c'@'../dlfcn.c'@ Makefile +sed -i s@'dlfcn.h'@'../dlfcn.h'@ Makefile +sed -i s@'test.c'@'../test.c'@ Makefile +sed -i s@'testdll.c'@'../testdll.c'@ Makefile +cp Makefile build_win32 +cp Makefile build_win64 + +%mingw_make %{?_smp_mflags} %install -make DESTDIR=$RPM_BUILD_ROOT install +%mingw_make DESTDIR=$RPM_BUILD_ROOT install +# Win32 %files -n mingw32-dlfcn %doc README COPYING %{mingw32_bindir}/libdl.dll @@ -87,8 +115,21 @@ make DESTDIR=$RPM_BUILD_ROOT install %files -n mingw32-dlfcn-static %{mingw32_libdir}/libdl.a +# Win64 +%files -n mingw64-dlfcn +%doc README COPYING +%{mingw64_bindir}/libdl.dll +%{mingw64_libdir}/libdl.dll.a +%{mingw64_includedir}/dlfcn.h + +%files -n mingw64-dlfcn-static +%{mingw64_libdir}/libdl.a + %changelog +* Sat Apr 14 2012 Erik van Pienbroek - 0-0.13.r11 +- Added win64 support + * Wed Mar 07 2012 Erik van Pienbroek - 0-0.12.r11 - Renamed the source package to mingw-dlfcn (RHBZ #800861) - Use mingw macros without leading underscore