diff --git a/.hgignore b/.hgignore
index f1dbb0afae6f95ba55aba962106c489eed6e6fda..ab76c2ccd1d5a4d81f8778db0d23a3a04fd3c0ec 100644
--- a/.hgignore
+++ b/.hgignore
@@ -1,3 +1,10 @@
 syntax: glob
 stage/
 autobuild-parabuild-bootstrap/
+zlib-1.2.5/*.lo
+zlib-1.2.5/*.o
+zlib-1.2.5/*.so*
+zlib-1.2.5/*.a
+zlib-1.2.5/*.pc
+zlib-1.2.5/example*
+zlib-1.2.5/minigzip*
diff --git a/autobuild.xml b/autobuild.xml
index 308d0acacd23b5726f1f1a54e35198dfe669b248..c31b388ba859e4983f09cb2c9a49b4918159d5a7 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -17,7 +17,7 @@
           <string>stage</string>
           <key>configurations</key>
           <map>
-            <key>Release</key>
+            <key>default</key>
             <map>
               <key>build</key>
               <map>
@@ -30,7 +30,7 @@
                 <string>bash</string>
               </map>
               <key>name</key>
-              <string>Release</string>
+              <string>default</string>
             </map>
           </map>
           <key>manifest</key>
@@ -45,7 +45,7 @@
         <map>
           <key>configurations</key>
           <map>
-            <key>Release</key>
+            <key>default</key>
             <map>
               <key>build</key>
               <map>
@@ -53,7 +53,7 @@
               <key>default</key>
               <boolean>true</boolean>
               <key>name</key>
-              <string>Release</string>
+              <string>default</string>
             </map>
           </map>
           <key>manifest</key>
@@ -67,7 +67,7 @@
         <map>
           <key>configurations</key>
           <map>
-            <key>Release</key>
+            <key>default</key>
             <map>
               <key>build</key>
               <map>
@@ -75,12 +75,13 @@
               <key>default</key>
               <boolean>true</boolean>
               <key>name</key>
-              <string>Release</string>
+              <string>default</string>
             </map>
           </map>
           <key>manifest</key>
           <array>
             <string>lib/release/libz.a</string>
+            <string>lib/debug/libz_debug.a</string>
           </array>
           <key>name</key>
           <string>linux</string>
@@ -89,7 +90,7 @@
         <map>
           <key>configurations</key>
           <map>
-            <key>Release</key>
+            <key>default</key>
             <map>
               <key>build</key>
               <map>
@@ -97,7 +98,7 @@
               <key>default</key>
               <boolean>true</boolean>
               <key>name</key>
-              <string>Release</string>
+              <string>default</string>
             </map>
           </map>
           <key>manifest</key>
diff --git a/build-cmd.sh b/build-cmd.sh
index f41cbf261b70fb8e2ae7b27c763da2ff24f803e7..435becc80637d618d0ee7b2f087a8b9cfcd67cf6 100755
--- a/build-cmd.sh
+++ b/build-cmd.sh
@@ -56,15 +56,24 @@ pushd "$ZLIB_SOURCE_DIR"
             mv "$stage/include/"*.h "$stage/include/zlib/"
         ;;
         "linux")
-            CFLAGS="-m32" CXXFLAGS="-m32" ./configure --prefix="$stage"
+			# do release build
+            CFLAGS="-m32 -O2" CXXFLAGS="-m32 -O2" ./configure --prefix="$stage" --includedir="$stage/include/zlib" --libdir="$stage/lib/release"
+            make
+            make install
+
+			# clean the build artifacts
+			make distclean
+
+			# do debug build
+            CFLAGS="-m32 -O0 -gstabs+" CXXFLAGS="-m32 -O0 -gstabs+" ./configure --prefix="$stage" --includedir="$stage/include/zlib" --libdir="$stage/lib/debug"
             make
             make install
-            mkdir -p "$stage/include/zlib"
-            mv "$stage/include/"*.h "$stage/include/zlib/"
 
-            mv "$stage/lib" "$stage/release"
-            mkdir -p "$stage/lib"
-            mv "$stage/release" "$stage/lib"
+			# fix the names of the debug library files
+			for f in `ls $stage/lib/debug/libz*`
+			do
+				mv ${f} ${f/libz/libz_debug}
+			done
         ;;
     esac
     mkdir -p "$stage/LICENSES"