diff --git a/bin/build-all.sh b/bin/build-all.sh
index 7cf7c888b30d06dc0a1d614573e075e2182924b1..d5823afc365b50502d40afdcece8708a87f2472a 100755
--- a/bin/build-all.sh
+++ b/bin/build-all.sh
@@ -60,8 +60,11 @@ done
 # If -b not given, try to derive one instead of just using "build".
 if [ -z "$BASE" ]; then
     case `uname -s` in
-      Darwin) # We only support darwin-x86 now.  No ppc available anymore.
-	  BASE=darwin ;;
+      Darwin)
+          case `uname -p` in
+            powerpc) BASE=ppc ;;
+            i386) BASE=darwin ;;
+          esac ;;
       SunOS)
 	  case `uname -m` in
 	    sun4u) BASE=sparc ;;
@@ -118,6 +121,8 @@ buildsun4 ()
 
 case `uname -m` in
   i386*|x86*|i86pc) buildx86 ;;
-  sun*) buildsun4 ;;
+  sun*|"Power Mac*")
+    # buildsun4 works for sparc and ppc.
+    buildsun4 ;;
   *) echo "Unsupported architecture:  `uname -m`" ;;
 esac