diff --git a/NEWS b/NEWS
index aa8248260cfdd0fc571fbbfcf6cd45a217d042b8..ebaae9f1c2a09097567eb4547f0c1e3456401d30 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ documents those changes that are of interest to users and admins.
 
 * Changes in SLURM 1.1.0-pre3
 =============================
+ -- Added framework for XCPU job launch support.
 
 * Changes in SLURM 1.1.0-pre2
 =============================
diff --git a/auxdir/x_ac_bluegene.m4 b/auxdir/x_ac_bluegene.m4
index 85e7f283321354f1050f853db4ba1e7adf9d82a9..ddb7235a9855897a3eab7a40ed23cd3b154cc869 100644
--- a/auxdir/x_ac_bluegene.m4
+++ b/auxdir/x_ac_bluegene.m4
@@ -8,7 +8,8 @@
 #    X_AC_BG
 #
 #  DESCRIPTION:
-#    Test for Blue Gene/L specific files. If found define HAVE_BG
+#    Test for Blue Gene/L specific files. 
+#    If found define HAVE_BG and HAVE_FRONT_END.
 ##*****************************************************************************
 
 
diff --git a/auxdir/x_ac_xcpu.m4 b/auxdir/x_ac_xcpu.m4
new file mode 100644
index 0000000000000000000000000000000000000000..9e4d193762b63699bea3c19b2a528d48f4df1c22
--- /dev/null
+++ b/auxdir/x_ac_xcpu.m4
@@ -0,0 +1,40 @@
+##*****************************************************************************
+## $Id: x_ac_xcpu.m4 7443 2006-03-08 20:23:25Z da $
+##*****************************************************************************
+#  AUTHOR:
+#    Morris Jette <jette1@llnl.gov>
+#
+#  SYNOPSIS:
+#    X_AC_XCPU
+#
+#  DESCRIPTION:
+#    Test for XCPU specific files. 
+#    If found define HAVE_XCPU and HAVE_FRONT_END.
+#    Explicitly disable with --enable-xcpu=no
+##*****************************************************************************
+
+
+AC_DEFUN([X_AC_XCPU],
+[
+   AC_MSG_CHECKING([whether XCPU is enabled])
+   AC_ARG_ENABLE([xcpu],
+    AC_HELP_STRING([--enable-xcpu], [enable XCPU job launch]),
+    [ case "$enableval" in
+        yes) ac_xcpu=yes ;;
+        no)  ac_xcpu=no ;;
+        *)   AC_MSG_RESULT([doh!])
+             AC_MSG_ERROR([bad value "$enableval" for --enable-xcpu]) ;;
+      esac
+    ]
+   )
+
+   if test "$ac_xcpu" != "no" ; then
+      if test -d "/mnt/xcpu" ; then
+         AC_DEFINE(HAVE_XCPU, 1, [Define to 1 if using XCPU for job launch])
+         AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only])
+      else
+         ac_xcpu=no
+      fi
+   fi
+   AC_MSG_RESULT($ac_xcpu)
+])
diff --git a/configure.ac b/configure.ac
index 52ce4eb3e7bfbf322c99126fb25ff6d5d11ef144..d8bbaaed85f15a238d6291e26d0e18822197f06a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,7 @@ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
 LIBS="$PTHREAD_LIBS $LIBS"
 
 X_AC_BLUEGENE
+X_AC_XCPU
 X_AC_SLURM_SEMAPHORE
 
 X_AC_NCURSES