summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/winpcap-2-fixes.patch55
-rw-r--r--src/winpcap.mk18
2 files changed, 72 insertions, 1 deletions
diff --git a/src/winpcap-2-fixes.patch b/src/winpcap-2-fixes.patch
new file mode 100644
index 0000000..c4d43e8
--- /dev/null
+++ b/src/winpcap-2-fixes.patch
@@ -0,0 +1,55 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Fri, 22 Dec 2017 14:32:47 +1100
+Subject: [PATCH 1/2] fix building test program
+
+
+diff --git a/wpcap/libpcap/pcap-win32.c b/wpcap/libpcap/pcap-win32.c
+index 1111111..2222222 100644
+--- a/wpcap/libpcap/pcap-win32.c
++++ b/wpcap/libpcap/pcap-win32.c
+@@ -86,7 +86,7 @@ struct bpf_hdr {
+
+ CRITICAL_SECTION g_PcapCompileCriticalSection;
+
+-BOOL WINAPI DllMain(
++BOOL WINAPI DllMain_disabled(
+ HANDLE hinstDLL,
+ DWORD dwReason,
+ LPVOID lpvReserved
+diff --git a/wpcap/libpcap/scanner.c b/wpcap/libpcap/scanner.c
+index 1111111..2222222 100644
+--- a/wpcap/libpcap/scanner.c
++++ b/wpcap/libpcap/scanner.c
+@@ -39,6 +39,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <ws2tcpip.h>
+
+ /* end standard C headers. */
+
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Fri, 22 Dec 2017 14:54:56 +1100
+Subject: [PATCH 2/2] fix posix build
+
+
+diff --git a/wpcap/libpcap/Win32/Include/net/netdb.h b/wpcap/libpcap/Win32/Include/net/netdb.h
+index 1111111..2222222 100644
+--- a/wpcap/libpcap/Win32/Include/net/netdb.h
++++ b/wpcap/libpcap/Win32/Include/net/netdb.h
+@@ -57,7 +57,7 @@
+ #ifndef _NETDB_H_
+ #define _NETDB_H_
+
+-#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_REENTRANT)
++#if (defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_REENTRANT)) && !defined(_WIN32)
+ #include <stdio.h>
+ #include <netinet/in.h>
+ #endif
diff --git a/src/winpcap.mk b/src/winpcap.mk
index 4b88cc1..a4c6441 100644
--- a/src/winpcap.mk
+++ b/src/winpcap.mk
@@ -19,7 +19,7 @@ endef
define $(PKG)_BUILD
# build
- cd '$(1)' && $(TARGET)-gcc -ICommon -IpacketNtx/Dll -O -c '$(1)/packetNtx/Dll/Packet32.c'
+ cd '$(1)' && $(TARGET)-gcc -ICommon -IpacketNtx/Dll -O -c '$(1)/packetNtx/Dll/Packet32.c' -D_WINNT4
cd '$(1)' && $(TARGET)-gcc -ICommon -IpacketNtx/Dll -O -c '$(1)/packetNtx/Dll/AdInfo.c'
cd '$(1)' && $(TARGET)-gcc -ICommon -IpacketNtx/Dll -O -c '$(1)/packetNtx/Dll/NpfImExt.c'
$(TARGET)-ar rc '$(1)/libpacket.a' '$(1)/Packet32.o' '$(1)/AdInfo.o' '$(1)/NpfImExt.o'
@@ -60,6 +60,22 @@ define $(PKG)_BUILD
'$(PREFIX)/$(TARGET)/include/pcap/'
$(INSTALL) -m644 '$(1)/wpcap/PRJ/libwpcap.a' '$(PREFIX)/$(TARGET)/lib/'
+
+ # create pkg-config file
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
+ (echo 'Name: $(PKG)'; \
+ echo 'Version: $($(PKG)_VERSION)'; \
+ echo 'Description: $($(PKG)_DESCR)'; \
+ echo 'Requires:'; \
+ echo 'Libs: -lwpcap -lpacket -lws2_32 -lversion'; \
+ echo 'Cflags: -I$(PREFIX)/$(TARGET)/include/pcap';) \
+ > '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc'
+
+ # compile test
+ '$(TARGET)-gcc' \
+ -W -Wall \
+ '$(SOURCE_DIR)/Examples-pcap/basic_dump_ex/basic_dump_ex.c' -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \
+ `'$(TARGET)-pkg-config' $(PKG) --cflags --libs`
endef
$(PKG)_BUILD_SHARED =