Index: configure
===================================================================
--- configure	(revision 0e7ea3359ca310e007b848d916a4c58b671ed6c8)
+++ configure	(revision 3f414ef6d1737bc6e8bd973d98b2964b26c60ba3)
@@ -644,4 +644,5 @@
 CXXFLAGS
 CXX
+CFA_FLAGS
 MACHINE_TYPE
 host_os
@@ -653,5 +654,4 @@
 build_cpu
 build
-CFA_FLAGS
 CFA_LIBDIR
 CFA_BINDIR
@@ -3302,12 +3302,4 @@
 
 
-
-cat >>confdefs.h <<_ACEOF
-#define CFA_FLAGS "${CFAFLAGS}"
-_ACEOF
-
-CFA_FLAGS=${CFAFLAGS}
-
-
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -3382,4 +3374,38 @@
 
 MACHINE_TYPE=$host_cpu
+
+
+echo $build_cpu
+echo $host_cpu
+
+if ! test "$host_cpu" = "$build_cpu"; then
+	case $host_cpu in
+		i386)
+			CFLAGS+="-m32"
+			CXXFLAGS+="-m32"
+			CFAFLAGS+="-m32"
+			LDFLAGS+="-m32"
+			;;
+		i686)
+			CFLAGS+="-m32"
+                        CXXFLAGS+="-m32"
+                        CFAFLAGS+="-m32"
+                        LDFLAGS+="-m32"
+			;;
+		x86_64)
+			CFLAGS+="-m64"
+                        CXXFLAGS+="-m64"
+                        CFAFLAGS+="-m64"
+                        LDFLAGS+="-m64"
+			;;
+	esac
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define CFA_FLAGS "${CFAFLAGS}"
+_ACEOF
+
+CFA_FLAGS=${CFAFLAGS}
 
 
Index: configure.ac
===================================================================
--- configure.ac	(revision 0e7ea3359ca310e007b848d916a4c58b671ed6c8)
+++ configure.ac	(revision 3f414ef6d1737bc6e8bd973d98b2964b26c60ba3)
@@ -169,9 +169,36 @@
 AC_SUBST(CFA_LIBDIR, ${cfa_libdir})
 
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+AC_SUBST([MACHINE_TYPE],[$host_cpu])
+
+echo $build_cpu
+echo $host_cpu
+
+if ! test "$host_cpu" = "$build_cpu"; then 
+	case $host_cpu in
+		i386)
+			CFLAGS+="-m32"
+			CXXFLAGS+="-m32"
+			CFAFLAGS+="-m32"
+			LDFLAGS+="-m32"
+			;;
+		i686)
+			CFLAGS+="-m32"
+                        CXXFLAGS+="-m32"
+                        CFAFLAGS+="-m32"
+                        LDFLAGS+="-m32"
+			;;
+		x86_64)
+			CFLAGS+="-m64"
+                        CXXFLAGS+="-m64"
+                        CFAFLAGS+="-m64"
+                        LDFLAGS+="-m64"
+			;;
+	esac
+fi
+
 AC_DEFINE_UNQUOTED(CFA_FLAGS, "${CFAFLAGS}", [compilation flags for cfa libraries and test programs.])
 AC_SUBST(CFA_FLAGS, ${CFAFLAGS})
-
-AC_CANONICAL_HOST
-AC_SUBST([MACHINE_TYPE],[$host_cpu])
 
 # Checks for programs.
