diff -dur cudd-2.4.2.ORIG/cudd/cudd.h cudd-2.4.2/cudd/cudd.h
--- cudd-2.4.2.ORIG/cudd/cudd.h 2009-03-07 17:15:46.000000000 -0700
+++ cudd-2.4.2/cudd/cudd.h 2009-05-12 10:23:52.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.2"
#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.2.ORIG/mtr/mtr.h cudd-2.4.2/mtr/mtr.h
--- cudd-2.4.2.ORIG/mtr/mtr.h 2009-02-19 19:12:23.000000000 -0700
+++ cudd-2.4.2/mtr/mtr.h 2009-05-12 10:23:52.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.2.ORIG/util/util.h cudd-2.4.2/util/util.h
--- cudd-2.4.2.ORIG/util/util.h 2009-02-17 07:18:57.000000000 -0700
+++ cudd-2.4.2/util/util.h 2009-05-12 10:23:52.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;