diff -ru include/mikmod.h.in libmikmod-3.1.12/include/mikmod.h.in
--- include/mikmod.h.in	2007-12-15 01:24:19.000000000 -0800
+++ include/mikmod.h.in	2009-10-05 00:18:56.000000000 -0700
@@ -85,7 +85,7 @@
 
 @DOES_NOT_HAVE_SIGNED@
 
-#if defined(__arch64__) || defined(__alpha)
+#if defined(__arch64__) || defined(__alpha) || defined(_LP64)
 /* 64 bit architectures */
 
 typedef signed char     SBYTE;      /* 1 byte, signed */
diff -ru include/mikmod_internals.h libmikmod-3.1.12/include/mikmod_internals.h
--- include/mikmod_internals.h	2007-12-15 04:24:51.000000000 -0800
+++ include/mikmod_internals.h	2009-10-05 00:19:15.000000000 -0700
@@ -50,7 +50,7 @@
 /*========== More type definitions */
 
 /* SLONGLONG: 64bit, signed */
-#if defined (__arch64__) || defined(__alpha)
+#if defined(__arch64__) || defined(__alpha) || defined(_LP64)
 typedef long		SLONGLONG;
 #define NATIVE_64BIT_INT
 #elif defined(__WATCOMC__)
