Skip to content

Instantly share code, notes, and snippets.

@xumingyong
Created February 7, 2012 03:00
Show Gist options
  • Select an option

  • Save xumingyong/1756864 to your computer and use it in GitHub Desktop.

Select an option

Save xumingyong/1756864 to your computer and use it in GitHub Desktop.
Build Libuv with MinGw
------------
1. IPV6 patch
------------
Add following definition code in win/winsock.h
//
// Options to use with [gs]etsockopt at the IPPROTO_IPV6 level.
// These are specified in RFCs 3493 and 3542.
// The values should be consistent with the IPv6 equivalents.
//
#define IPV6_HOPOPTS 1 // Set/get IPv6 hop-by-hop options.
#define IPV6_HDRINCL 2 // Header is included with data.
#define IPV6_UNICAST_HOPS 4 // IP unicast hop limit.
#define IPV6_MULTICAST_IF 9 // IP multicast interface.
#define IPV6_MULTICAST_HOPS 10 // IP multicast hop limit.
#define IPV6_MULTICAST_LOOP 11 // IP multicast loopback.
#define IPV6_ADD_MEMBERSHIP 12 // Add an IP group membership.
#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
#define IPV6_DROP_MEMBERSHIP 13 // Drop an IP group membership.
#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
#define IPV6_DONTFRAG 14 // Don't fragment IP datagrams.
#define IPV6_PKTINFO 19 // Receive packet information.
#define IPV6_HOPLIMIT 21 // Receive packet hop limit.
#define IPV6_PROTECTION_LEVEL 23 // Set/get IPv6 protection level.
#define IPV6_RECVIF 24 // Receive arrival interface.
#define IPV6_RECVDSTADDR 25 // Receive destination address.
#define IPV6_CHECKSUM 26 // Offset to checksum for raw IP socket send.
#define IPV6_V6ONLY 27 // Treat wildcard bind as AF_INET6-only.
#define IPV6_IFLIST 28 // Enable/Disable an interface list.
#define IPV6_ADD_IFLIST 29 // Add an interface list entry.
#define IPV6_DEL_IFLIST 30 // Delete an interface list entry.
#define IPV6_UNICAST_IF 31 // IP unicast interface.
#define IPV6_RTHDR 32 // Set/get IPv6 routing header.
#define IPV6_RECVRTHDR 38 // Receive the routing header.
#define IPV6_TCLASS 39 // Packet traffic class.
#define IPV6_RECVTCLASS 40 // Receive packet traffic class.
#define IP_UNSPECIFIED_HOP_LIMIT -1
---------
2. Build
---------
Use make command to complie libuv, "uv.a" file generated in Makefile folder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment