diff -ru Libnet-1.0.2a.orig/Makefile.in Libnet-1.0.2a/Makefile.in
--- Libnet-1.0.2a.orig/Makefile.in	2001-02-05 12:51:41.000000000 -0500
+++ Libnet-1.0.2a/Makefile.in	2007-01-05 17:53:33.000000000 -0500
@@ -15,12 +15,12 @@
 srcdir      =   @srcdir@
 BIN_PREFIX  =   @bindir@/
 INC_PREFIX  =   @includedir@/
-LIB_PREFIX  =   @libdir@/
-MAN_PREFIX  =   @MAN_PREFIX@
+LIB_PREFIX  =   @libdir@
+MAN_PREFIX  =   @exec_prefix@/share/man/man3
 
 LIBNET      =   libnet
 LIBPWRITE   =   libpwrite
-LIB         =   lib/$(LIBNET).a
+LIB         =   lib/$(LIBNET).la
 MAN         =   doc/$(LIBNET).3
 INCLUDE     =   include/$(LIBNET).h
 INCLUDE-H   =   include/$(LIBNET)/$(LIBNET)-headers.h
@@ -39,45 +39,44 @@
 INSTALL_DATA=   $(srcdir)/install-sh
 CFLAGS      =   @CFLAGS@
 CPPFLAGS    =   @CPPFLAGS@
-OBJECTS     =   src/libnet_resolve.o\
-		src/libnet_socket.o\
-		src/libnet_checksum.o\
-		src/libnet_prand.o\
-		src/libnet_version.o\
-		src/libnet_write_ip.o\
-		src/libnet_insert_ipo.o\
-		src/libnet_insert_tcpo.o\
-		src/libnet_error.o\
-		src/libnet_link_@LL_INT_TYPE@.o\
-		src/libnet_packet_mem.o\
-		src/libnet_build_ip.o\
-		src/libnet_build_tcp.o\
-		src/libnet_build_udp.o\
-		src/libnet_build_arp.o\
-		src/libnet_build_ethernet.o\
-		src/libnet_build_icmp.o\
-		src/libnet_build_igmp.o\
-		src/libnet_build_dns.o\
-		src/libnet_build_snmp.o\
-		src/libnet_build_rip.o\
-		src/libnet_build_ospf.o\
-		src/libnet_build_vrrp.o\
-		src/libnet_asn1.o\
-		src/libnet_hex_dump.o\
-		src/libnet_if_addr.o\
-		src/libnet_port_list.o 
+OBJECTS     =   src/libnet_resolve.lo\
+		src/libnet_socket.lo\
+		src/libnet_checksum.lo\
+		src/libnet_prand.lo\
+		src/libnet_version.lo\
+		src/libnet_write_ip.lo\
+		src/libnet_insert_ipo.lo\
+		src/libnet_insert_tcpo.lo\
+		src/libnet_error.lo\
+		src/libnet_link_@LL_INT_TYPE@.lo\
+		src/libnet_packet_mem.lo\
+		src/libnet_build_ip.lo\
+		src/libnet_build_tcp.lo\
+		src/libnet_build_udp.lo\
+		src/libnet_build_arp.lo\
+		src/libnet_build_ethernet.lo\
+		src/libnet_build_icmp.lo\
+		src/libnet_build_igmp.lo\
+		src/libnet_build_dns.lo\
+		src/libnet_build_snmp.lo\
+		src/libnet_build_rip.lo\
+		src/libnet_build_ospf.lo\
+		src/libnet_build_vrrp.lo\
+		src/libnet_asn1.lo\
+		src/libnet_hex_dump.lo\
+		src/libnet_if_addr.lo\
+		src/libnet_port_list.lo 
 
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFINES) -c $< -o $@
+%.lo: %.c
+	glibtool --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFINES) -c $< -o $@
 
 all: libnet
 supp: test example
 
 libnet: version.h $(OBJECTS)
-	$(AR) -cr $(LIB) $(OBJECTS)
-	$(RANLIB) $(LIB)
+	glibtool --mode=link $(CC) -o $(LIB) $(OBJECTS) -rpath $(LIB_PREFIX) -release 1.0
 
-version.o: version.h
+version.lo: version.h
 version.h: ./VERSION
 	@rm -f $@
 	sed -e 's/.*/#define VERSION "&"/' ./VERSION > $@
@@ -98,9 +97,10 @@
 	$(ENSUREDIR) $(DESTDIR)$(INC_PREFIX) 755
 	$(ENSUREDIR) $(DESTDIR)$(MAN_PREFIX) 755
 	$(ENSUREDIR) $(DESTDIR)$(BIN_PREFIX) 755
-	$(INSTALL_DATA) $(LIB) $(DESTDIR)$(LIB_PREFIX)
-	rm -f $(DESTDIR)$(LIB_PREFIX)$(LIBPWRITE).a
+	glibtool --mode=install $(INSTALL_DATA) $(LIB) $(DESTDIR)$(LIB_PREFIX)
+#	rm -f $(DESTDIR)$(LIB_PREFIX)$(LIBPWRITE).a
 	cd $(DESTDIR)$(LIB_PREFIX); $(LN) -f -s $(LIBNET).a $(LIBPWRITE).a
+	cd $(DESTDIR)$(LIB_PREFIX); $(LN) -f -s $(LIBNET)-1.0.dylib $(LIBPWRITE).dylib
 	$(INSTALL_DATA) $(INCLUDE) $(DESTDIR)$(INC_PREFIX)
 	$(INSTALL_DATA) $(INCLUDE-H) $(DESTDIR)$(INC_PREFIX)$(LIBNET)
 	$(INSTALL_DATA) $(INCLUDE-F) $(DESTDIR)$(INC_PREFIX)$(LIBNET)
diff -ru Libnet-1.0.2a.orig/configure Libnet-1.0.2a/configure
--- Libnet-1.0.2a.orig/configure	2001-01-17 15:59:33.000000000 -0500
+++ Libnet-1.0.2a/configure	2007-01-05 17:26:49.000000000 -0500
@@ -1652,6 +1652,16 @@
     BIN_PREFIX="$prefix/bin/"
     ;;
 
+*darwin*)
+    cat >>confdefs.h <<\_ACEOF
+#define LIBNET_BSD_BYTE_SWAP 1
+_ACEOF
+
+    LIBNET_CONFIG_DEFINES="-DLIBNET_BSD_BYTE_SWAP"
+    LIBNET_CONFIG_CFLAGS="-I${prefix}/include"
+    LIBNET_CONFIG_LIBS="-L${prefix}/libs $LIBNET_CONFIG_LIBS"
+    ;;
+
 *solaris*)
     cat >> confdefs.h <<\EOF
 #define HAVE_SOLARIS 1
diff -ru Libnet-1.0.2a.orig/include/libnet/libnet-headers.h Libnet-1.0.2a/include/libnet/libnet-headers.h
--- Libnet-1.0.2a.orig/include/libnet/libnet-headers.h	2000-12-13 15:38:40.000000000 -0500
+++ Libnet-1.0.2a/include/libnet/libnet-headers.h	2007-01-05 16:36:16.000000000 -0500
@@ -518,6 +518,11 @@
     struct  in_addr ipopt_dst;          /* first-hop dst if source routed */
     char ipopt_list[MAX_IPOPTLEN];      /* options proper */
 };
+#elif defined(__APPLE__)
+struct ipoption {
+        struct  in_addr ipopt_dst;      /* first-hop dst if source routed */
+        char    ipopt_list[MAX_IPOPTLEN];       /* options proper */
+};
 #endif
 
 #endif  /* __LIBNET_HEADERS_H */
diff -ru Libnet-1.0.2a.orig/include/libnet.h Libnet-1.0.2a/include/libnet.h
--- Libnet-1.0.2a.orig/include/libnet.h	2001-02-06 18:19:25.000000000 -0500
+++ Libnet-1.0.2a/include/libnet.h	2007-01-05 16:36:16.000000000 -0500
@@ -84,9 +84,9 @@
 #define LIBNET_VERSION  "1.0.2a"
 
 #if (!LIBNET_LIL_ENDIAN && !LIBNET_BIG_ENDIAN)
-#error "byte order has not been specified, you'll
-need to #define either LIBNET_LIL_ENDIAN or LIBNET_BIG_ENDIAN.  See the
-documentation regarding the libnet-config script."
+#error "byte order has not been specified, you'll "
+"need to #define either LIBNET_LIL_ENDIAN or LIBNET_BIG_ENDIAN.  See the "
+"documentation regarding the libnet-config script."
 #endif
 
 #endif  /* __LIBNET_H */