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"