Patch for ion
Hi folks,
Here is a patch to build ion 3.0.0~dfsg1-1. Unfortunately it has a lot of use of MAXHOSTNAMELEN and
MAXPATHLEN so I hardcoded those values for now. (They did the same for MAXHOSTNAMELEN for mingw).
Should we attempt to fix those issues more correctly?
Thanks,
Barry deFreese (bddebian for those who don't remember me :) )
Index: ion-3.0.0~dfsg1/ici/include/platform.h
===================================================================
--- ion-3.0.0~dfsg1.orig/ici/include/platform.h 2012-05-31 11:46:40.000000000 +0000
+++ ion-3.0.0~dfsg1/ici/include/platform.h 2012-05-31 11:47:14.000000000 +0000
@@ -361,6 +361,18 @@
#endif /**** End of #ifdef freebsd ****/
+#ifdef gnu /**** GNU ****/
+
+#include <malloc.h> /**** For memalign ****/
+#include <sys/param.h>
+#include <pthread.h>
+
+#define MAXHOSTNAMELEN 256 /**** GNU doesn't define MAXHOSTNAMELEN ****/
+#define MAXPATHLEN 1024 /**** Another ugly hack, neither should be used ****/
+#define _MULTITHREADED
+
+#endif /**** End of #ifdef GNU ****/
+
#ifdef darwin /**** Mac OS X ****/
#include <sys/malloc.h>
Index: ion-3.0.0~dfsg1/configure.ac
===================================================================
--- ion-3.0.0~dfsg1.orig/configure.ac 2012-05-31 11:46:40.000000000 +0000
+++ ion-3.0.0~dfsg1/configure.ac 2012-05-31 11:47:14.000000000 +0000
@@ -214,6 +214,11 @@
fi
;;
vxworks*) AC_DEFINE([vxworks],[1],[Build VXWorks specific platform code.]) ;;
+ gnu*)
+ AC_DEFINE([gnu],[1],[Build 32-bit GNU specific platform code.])
+ AC_SUBST([ION_CFLAGS]," -Dgnu -fno-strict-aliasing")
+ echo "Build 32-bit GNU specific platform code."
+ ;;
esac
AC_C_CONST
Index: ion-3.0.0~dfsg1/ici/library/platform.c
===================================================================
--- ion-3.0.0~dfsg1.orig/ici/library/platform.c 2012-05-31 11:46:40.000000000 +0000
+++ ion-3.0.0~dfsg1/ici/library/platform.c 2012-05-31 11:47:14.000000000 +0000
@@ -476,7 +476,7 @@
#endif /* end #ifdef _MULTITHREADED */
-#if (!defined (linux) && !defined (freebsd) && !defined (darwin) && !defined (RTEMS)) && !defined (mingw)
+#if (!defined (linux) && !defined (freebsd) && !defined (darwin) && !defined (RTEMS) && !defined(gnu)) && !defined (mingw)
/* These things are defined elsewhere for Linux-like op systems. */
extern int sys_nerr;
@@ -966,7 +966,7 @@
#endif /* end of #if defined (mingw) */
-#if (defined (linux) || defined (freebsd) || defined (darwin) || defined (RTEMS))
+#if (defined (linux) || defined (freebsd) || defined (darwin) || defined (RTEMS) || defined(gnu))
char *system_error_msg()
{
Index: ion-3.0.0~dfsg1/ltp/udp/udplso.c
===================================================================
--- ion-3.0.0~dfsg1.orig/ltp/udp/udplso.c 2012-04-06 22:39:37.000000000 +0000
+++ ion-3.0.0~dfsg1/ltp/udp/udplso.c 2012-05-31 12:46:20.000000000 +0000
@@ -24,6 +24,10 @@
#define IPHDR_SIZE (20 + 8)
+#elif defined(gnu)
+
+#define IPHDR_SIZE (sizeof(struct iphdr) + sizeof(struct udphdr))
+
#else
#include "netinet/ip_var.h"
Reply to: