diff --git a/aclocal.m4 b/aclocal.m4
index dc9479117a64db8e6816c87cb6a670f74e3a570f..d798eb5063f1ccea44ab55ff0c16d4e5c96a91f0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1607,4 +1607,22 @@ AC_DEFUN([XCODE_VERSION],[
     fi
 ])
 
+# FIND_GCC()
+# --------------------------------
+# Finds where gcc is
+AC_DEFUN([FIND_GCC],[
+    if test "$TargetOS_CPP" = "darwin" &&
+        test "$XCodeVersion1" -ge 4
+    then
+        # From Xcode 4, use 'gcc-4.2' to force the use of the gcc legacy
+        # backend (instead of the LLVM backend)
+        FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc-4.2])
+    else
+        FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc])
+    fi
+    export CC
+    WhatGccIsCalled="$CC"
+    AC_SUBST(WhatGccIsCalled)
+])
+
 # LocalWords:  fi
diff --git a/configure.ac b/configure.ac
index b8b8f3c7594da5d6996492255e29dbb4e9d14cb3..b72d30dd5fdf719891e5e2199e11a74dabd93f5b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -426,18 +426,7 @@ AC_SUBST([SplitObjsBroken])
 
 dnl ** Which gcc to use?
 dnl --------------------------------------------------------------
-if test "$TargetOS_CPP" = "darwin" &&
-   test "$XCodeVersion1" -ge 4
-then
-  # From Xcode 4, use 'gcc-4.2' to force the use of the gcc legacy
-  # backend (instead of the LLVM backend)
-  FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc-4.2])
-else
-  FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc])
-fi
-export CC
-WhatGccIsCalled="$CC"
-AC_SUBST(WhatGccIsCalled)
+FIND_GCC()
 
 dnl ** Which ld to use?
 dnl --------------------------------------------------------------
diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in
index 72fb71258dda1cd7c08058e84a79ad8f9a23b5cd..ce51c278f24d02f39b8467f08453f4703fa4dbbf 100644
--- a/distrib/configure.ac.in
+++ b/distrib/configure.ac.in
@@ -51,18 +51,7 @@ XCODE_VERSION()
 
 dnl ** Which gcc to use?
 dnl --------------------------------------------------------------
-if test "$TargetOS_CPP" = "darwin" &&
-   test "$XCodeVersion1" -ge 4
-then
-  # From Xcode 4, use 'gcc-4.2' to force the use of the gcc legacy backend (instead of the LLVM
-  # backend)
-  FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc-4.2])
-else
-  FP_ARG_WITH_PATH_GNU_PROG([CC], [gcc])
-fi
-export CC
-WhatGccIsCalled="$CC"
-AC_SUBST(WhatGccIsCalled)
+FIND_GCC()
 
 FP_GCC_VERSION
 AC_PROG_CPP