[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