[mingw-wpcap] enable 64bit build
sailer
sailer at fedoraproject.org
Fri Aug 17 11:21:47 UTC 2012
commit 4ce92a4fc0d8883b839a6157437425685c1a9190
Author: Thomas Sailer <t.sailer at alumni.ethz.ch>
Date: Fri Aug 17 13:21:26 2012 +0200
enable 64bit build
mingw-wpcap.spec | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++---
wpcap.pc | 10 +++---
wpcap64.pc | 13 +++++++++
3 files changed, 85 insertions(+), 10 deletions(-)
---
diff --git a/mingw-wpcap.spec b/mingw-wpcap.spec
index b331eff..f76903e 100644
--- a/mingw-wpcap.spec
+++ b/mingw-wpcap.spec
@@ -11,7 +11,7 @@
Name: mingw-wpcap
Version: %{versionmajor}.%{versionminor}.final%{versionsuffix}
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: MinGW user-level packet capture
Group: Development/Libraries
@@ -19,13 +19,16 @@ License: BSD with advertising
URL: http://www.winpcap.org/
Source0: http://www.winpcap.org/install/bin/WpcapSrc_%{versionmajor}_%{versionminor}_%{versionsuffix}.zip
Source1: wpcap.pc
+Source2: wpcap64.pc
Patch0: wpcap.patch
Patch1: wpcap-w2k.patch
Patch2: winpcap-mingw-w64-compatibility.patch
BuildArch: noarch
BuildRequires: mingw32-filesystem
+BuildRequires: mingw64-filesystem
BuildRequires: mingw32-gcc
+BuildRequires: mingw64-gcc
BuildRequires: doxygen
BuildRequires: unzip
BuildRequires: dos2unix
@@ -58,7 +61,13 @@ Requires: mingw32-wpcap = %{version}
%description -n mingw32-wpcap-docs
This package contains the Windows pcap library documentation.
-%{?mingw32_debug_package}
+%package -n mingw64-wpcap
+Summary: MinGW user-level packet capture
+
+%description -n mingw64-wpcap
+MinGW Windows pcap library.
+
+%{?mingw_debug_package}
%prep
%setup -q -n winpcap
@@ -75,23 +84,37 @@ popd
find . -name GNUmakefile |xargs perl -i -pe 's,-mno-cygwin,,'
+# Prevent a conflict between getaddrinfo.c and ws2_32
+sed -i s at ../libpcap/Win32/Src/getaddrinfo.o@@ wpcap/PRJ/GNUmakefile
+
+mkdir build64
+cp -r packetNtx wpcap Common build64
+
+
%build
pushd packetNtx/Dll/Project
make -f GNUmakefile CC=i686-w64-mingw32-gcc YACC=bison %{?_smp_mflags}
popd
-# Prevent a conflict between getaddrinfo.c and ws2_32
-sed -i s at ../libpcap/Win32/Src/getaddrinfo.o@@ wpcap/PRJ/GNUmakefile
-
pushd wpcap/PRJ
make -f GNUmakefile CC=i686-w64-mingw32-gcc YACC=bison %{?_smp_mflags}
popd
+
+pushd build64/packetNtx/Dll/Project
+make -f GNUmakefile CC=x86_64-w64-mingw32-gcc YACC=bison %{?_smp_mflags}
+popd
+
+pushd build64/wpcap/PRJ
+make -f GNUmakefile CC=x86_64-w64-mingw32-gcc YACC=bison %{?_smp_mflags}
+popd
+
pushd dox/prj
doxygen winpcap_noc.dox
popd
%install
+# mingw32
install -d $RPM_BUILD_ROOT/%{mingw32_bindir}
install -d $RPM_BUILD_ROOT/%{mingw32_libdir}/pkgconfig
install -m0644 %{SOURCE1} $RPM_BUILD_ROOT/%{mingw32_libdir}/pkgconfig
@@ -114,11 +137,36 @@ install -m0644 wpcap/libpcap/Win32/Include/bittypes.h $RPM_BUILD_ROOT/%{mingw32_
install -m0644 wpcap/libpcap/Win32/Include/IP6_misc.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/Win32/Include/Gnuc.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 Common/Packet32.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
+# mingw64
+install -d $RPM_BUILD_ROOT/%{mingw64_bindir}
+install -d $RPM_BUILD_ROOT/%{mingw64_libdir}/pkgconfig
+install -m0644 %{SOURCE2} $RPM_BUILD_ROOT/%{mingw64_libdir}/pkgconfig/wpcap.pc
+install -m0644 build64/packetNtx/Dll/Project/libpacket.a $RPM_BUILD_ROOT/%{mingw64_libdir}/libpacket.dll.a
+install -m0644 build64/packetNtx/Dll/Project/Packet.dll $RPM_BUILD_ROOT/%{mingw64_bindir}/packet.dll
+install -m0644 build64/wpcap/lib/libwpcap.a $RPM_BUILD_ROOT/%{mingw64_libdir}/libwpcap.dll.a
+install -m0644 build64/wpcap/PRJ/wpcap.dll $RPM_BUILD_ROOT/%{mingw64_bindir}
+install -m0644 build64/packetNtx/Dll/Packet.def $RPM_BUILD_ROOT/%{mingw64_libdir}/packet.def
+install -m0644 build64/wpcap/PRJ/WPCAP.DEF $RPM_BUILD_ROOT/%{mingw64_libdir}/wpcap.def
+install -d $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/pcap
+install -m0644 build64/wpcap/libpcap/pcap/*.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/pcap
+install -m0644 build64/wpcap/libpcap/pcap.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/pcap-int.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/pcap-bpf.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/pcap-namedb.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/remote-ext.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/pcap-stdinc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/Win32-Extensions/Win32-Extensions.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/Win32/Include/bittypes.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/Win32/Include/IP6_misc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/wpcap/libpcap/Win32/Include/Gnuc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+install -m0644 build64/Common/Packet32.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
+# doc
install -d $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/WinPcap_docs.html $RPM_BUILD_ROOT/%{wpcapdoc}/
install -m0644 dox/prj/docs/* $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/pics/*.gif $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/*.gif $RPM_BUILD_ROOT/%{wpcapdoc}/html
+# examples
install -d $RPM_BUILD_ROOT/%{wpcapexamples}
install -d $RPM_BUILD_ROOT/%{wpcapexamples}
cp -r Examples $RPM_BUILD_ROOT/%{wpcapexamples}/remote
@@ -147,7 +195,21 @@ rm -rf $RPM_BUILD_ROOT/%{wpcapexamples}/pcap/stats
%files -n mingw32-wpcap-examples
%{wpcapexamples}
+%files -n mingw64-wpcap
+%doc build64/wpcap/libpcap/LICENSE
+%{mingw64_libdir}/pkgconfig/wpcap.pc
+%{mingw64_bindir}/packet.dll
+%{mingw64_bindir}/wpcap.dll
+%{mingw64_libdir}/libpacket.dll.a
+%{mingw64_libdir}/libwpcap.dll.a
+%{mingw64_libdir}/packet.def
+%{mingw64_libdir}/wpcap.def
+%{mingw64_includedir}/wpcap
+
%changelog
+* Fri Aug 17 2012 Thomas Sailer <t.sailer at alumni.ethz.ch> - 4.1.final2-8
+- enable 64bit build
+
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 4.1.final2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/wpcap.pc b/wpcap.pc
index 7ef3ae4..dcba07d 100644
--- a/wpcap.pc
+++ b/wpcap.pc
@@ -1,13 +1,13 @@
# Package Information for pkg-config
-prefix=/usr/i686-pc-mingw32/sys-root/mingw
-exec_prefix=/usr/i686-pc-mingw32/sys-root/mingw
-libdir=/usr/i686-pc-mingw32/sys-root/mingw/lib
-includedir=/usr/i686-pc-mingw32/sys-root/mingw/include
+prefix=/usr/i686-w64-mingw32/sys-root/mingw
+exec_prefix=/usr/i686-w64-mingw32/sys-root/mingw
+libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib
+includedir=/usr/i686-w64-mingw32/sys-root/mingw/include
Name: WPCAP
Description: Windows Packet Capture Library
-Version: 4.1.beta5
+Version: 4.1.final2
Libs: -L${libdir} -lpacket -lwpcap
Libs.private:
Cflags: -I${includedir}/wpcap
diff --git a/wpcap64.pc b/wpcap64.pc
new file mode 100644
index 0000000..271f6b1
--- /dev/null
+++ b/wpcap64.pc
@@ -0,0 +1,13 @@
+# Package Information for pkg-config
+
+prefix=/usr/x86_64-w64-mingw32/sys-root/mingw
+exec_prefix=/usr/x86_64-w64-mingw32/sys-root/mingw
+libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib
+includedir=/usr/x86_64-w64-mingw32/sys-root/mingw/include
+
+Name: WPCAP
+Description: Windows Packet Capture Library
+Version: 4.1.final2
+Libs: -L${libdir} -lpacket -lwpcap
+Libs.private:
+Cflags: -I${includedir}/wpcap
More information about the scm-commits
mailing list