-## re/configure if not configured by Xcode or if missing top-makefile
-if [ $EXTERNAL_METHOD != 'xcode' -o ! -f $EXTERNAL_BUILD/GNUmakefile ]; then
- ## compute --arch value based on Xcode configuration naming convention
- case "$CONFIGURATION" in
- *.i386)
- arch="--arch=i386"
- ;;
- *.x86_64)
- arch="--arch=x86_64"
- ;;
- *.ppc)
- arch="--arch=ppc"
- ;;
- *.ppc64)
- arch="--arch=ppc64"
- ;;
- *)
- arch=
- ;;
- esac
+## sanity check - the build system only supports 1 arch at a time
+archcount=`echo $ARCHS | awk '{ print NF }'`
+if [ "$archcount" -ne 1 ]; then
+ echo "*********************************************************************"
+ echo "***"
+ echo "*** ERROR: invalid number of architectures: $ARCHS"
+ echo "*** This build system builds one (1) archtecture at a time."
+ echo "***"
+ echo "*********************************************************************"
+ exit 1
+fi
+
+## compute if re/configure necessary
+if [ $EXTERNAL_METHOD != 'xcode' ]; then
+ reconfigure="terminal -> Xcode"
+elif [ ! -f $EXTERNAL_BUILD/GNUmakefile ]; then
+ reconfigure="no configuration present"
+elif [ $EXTERNAL_SRC/make/configure.py -nt $EXTERNAL_BUILD/GNUmakefile ]; then
+ reconfigure="configure script was updated"
+else
+ reconfigure=
+fi
+
+## perform re/configure
+if [ -n "$reconfigure" ]; then
+ echo "reconfiguring ($reconfigure)"