--- libf2c2-20090411.orig/f2c.h0
+++ libf2c2-20090411/f2c.h0
@@ -7,21 +7,35 @@
 #ifndef F2C_INCLUDE
 #define F2C_INCLUDE
 
+#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
+typedef int integer;
+typedef unsigned int uinteger;
+#else
 typedef long int integer;
 typedef unsigned long int uinteger;
+#endif
 typedef char *address;
 typedef short int shortint;
 typedef float real;
 typedef double doublereal;
 typedef struct { real r, i; } complex;
 typedef struct { doublereal r, i; } doublecomplex;
+#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
+typedef int logical;
+#else
 typedef long int logical;
+#endif
 typedef short int shortlogical;
 typedef char logical1;
 typedef char integer1;
 #ifdef INTEGER_STAR_8	/* Adjust for integer*8. */
-typedef long long longint;		/* system-dependent */
-typedef unsigned long long ulongint;	/* system-dependent */
+#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
+typedef long longint;		/* system-dependent */
+typedef unsigned long ulongint;	/* system-dependent */
+#else
+typedef long long longint;              /* system-dependent - oh yeah*/
+typedef unsigned long long ulongint;    /* system-dependent - oh yeah*/
+#endif
 #define qbit_clear(a,b)	((a) & ~((ulongint)1 << (b)))
 #define qbit_set(a,b)	((a) |  ((ulongint)1 << (b)))
 #endif
@@ -42,10 +56,16 @@
 typedef short ftnlen;
 typedef short ftnint;
 #else
+#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
+typedef int flag;
+typedef int ftnlen;
+typedef int ftnint;
+#else
 typedef long int flag;
 typedef long int ftnlen;
 typedef long int ftnint;
 #endif
+#endif
 
 /*external read, write*/
 typedef struct
