diff -dur cudd-2.4.1.ORIG/cudd/cudd.h cudd-2.4.1/cudd/cudd.h
--- cudd-2.4.1.ORIG/cudd/cudd.h 2005-05-18 00:08:59.000000000 -0600
+++ cudd-2.4.1/cudd/cudd.h 2007-10-18 16:44:37.000000000 -0600
@@ -61,6 +61,7 @@
/* Nested includes */
/*---------------------------------------------------------------------------*/
+#include <bits/wordsize.h>
#include "mtr.h"
#include "epd.h"
@@ -75,14 +76,22 @@
#define CUDD_VERSION "2.4.1"
#ifndef SIZEOF_VOID_P
+#if __WORDSIZE == 64
+#define SIZEOF_VOID_P 8
+#else
#define SIZEOF_VOID_P 4
#endif
+#endif
#ifndef SIZEOF_INT
#define SIZEOF_INT 4
#endif
#ifndef SIZEOF_LONG
+#if __WORDSIZE == 64
+#define SIZEOF_LONG 8
+#else
#define SIZEOF_LONG 4
#endif
+#endif
#ifndef TRUE
#define TRUE 1
diff -dur cudd-2.4.1.ORIG/mtr/mtr.h cudd-2.4.1/mtr/mtr.h
--- cudd-2.4.1.ORIG/mtr/mtr.h 2004-08-24 15:30:36.000000000 -0600
+++ cudd-2.4.1/mtr/mtr.h 2007-10-18 16:45:19.000000000 -0600
@@ -63,6 +63,8 @@
/* Nested includes */
/*---------------------------------------------------------------------------*/
+#include <bits/wordsize.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -72,8 +74,12 @@
/*---------------------------------------------------------------------------*/
#ifndef SIZEOF_VOID_P
+#if __WORDSIZE == 64
+#define SIZEOF_VOID_P 8
+#else
#define SIZEOF_VOID_P 4
#endif
+#endif
#ifndef SIZEOF_INT
#define SIZEOF_INT 4
#endif
diff -dur cudd-2.4.1.ORIG/util/util.h cudd-2.4.1/util/util.h
--- cudd-2.4.1.ORIG/util/util.h 2004-02-05 18:15:36.000000000 -0700
+++ cudd-2.4.1/util/util.h 2007-10-18 16:45:58.000000000 -0600
@@ -3,6 +3,8 @@
#ifndef UTIL_H
#define UTIL_H
+#include <bits/wordsize.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -20,14 +22,22 @@
#endif
#ifndef SIZEOF_VOID_P
+#if __WORDSIZE == 64
+#define SIZEOF_VOID_P 8
+#else
#define SIZEOF_VOID_P 4
#endif
+#endif
#ifndef SIZEOF_INT
#define SIZEOF_INT 4
#endif
#ifndef SIZEOF_LONG
+#if __WORDSIZE == 64
+#define SIZEOF_LONG 8
+#else
#define SIZEOF_LONG 4
#endif
+#endif
#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
typedef long util_ptrint;