diff --git a/lib/buildit b/lib/buildit
index f8e3178..36222dc 100755
--- a/lib/buildit
+++ b/lib/buildit
@@ -8,13 +8,13 @@
 
 if [ `basename $(pwd)` != "lib" ]
 then
-	echo "current directory must be lib"
-	exit 1
+    echo "current directory must be lib"
+    exit 1
 fi
 
 if [ -z "$CXX" ]
 then
-	CXX=clang++
+    CXX=clang++
 fi
 
 if [ -z "$CC" ]
@@ -24,10 +24,10 @@
 
 if [ -z $MACOSX_DEPLOYMENT_TARGET ]
 then
-	if [ -z $IPHONEOS_DEPLOYMENT_TARGET ]
-	then
-		MACOSX_DEPLOYMENT_TARGET=10.7
-	fi
+    if [ -z $IPHONEOS_DEPLOYMENT_TARGET ]
+    then
+        MACOSX_DEPLOYMENT_TARGET=10.7
+    fi
 fi
 
 if [ -z $RC_ProjectSourceVersion ]
@@ -46,41 +46,41 @@
       RC_CFLAGS="-arch i386 -arch x86_64"
     fi
     SOEXT=dylib
-	if [ "$MACOSX_DEPLOYMENT_TARGET" == "10.6" ]
-	then
-	    EXTRA_FLAGS="-std=c++0x -U__STRICT_ANSI__"
-		LDSHARED_FLAGS="-o libc++.1.dylib \
-			-dynamiclib -nodefaultlibs -current_version 1 \
-			-compatibility_version 1 \
-			-install_name /usr/lib/libc++.1.dylib \
-			-Wl,-reexport_library,/usr/lib/libc++abi.dylib \
-			-Wl,-unexported_symbols_list,libc++unexp.exp  \
-			/usr/lib/libSystem.B.dylib"
-	else
-		RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi.exp"
-		if [ -n "$SDKROOT" ]
-		then
-			EXTRA_FLAGS+="-isysroot ${SDKROOT}"
-			if echo "${RC_ARCHS}" | grep -q "armv7"  
-			then
-				RE_EXPORT_LINE="${SDKROOT}/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++sjlj-abi.exp"
-			else
-				RE_EXPORT_LINE="-Wl,-reexport_library,${SDKROOT}/usr/lib/libc++abi.dylib"
-			fi
-			CXX=`xcrun -sdk "${SDKROOT}"  -find clang++`
-			CC=`xcrun -sdk "${SDKROOT}"  -find clang`
-		fi
-	    LDSHARED_FLAGS="-o libc++.1.dylib \
-			-dynamiclib -nodefaultlibs  \
-			-current_version ${RC_ProjectSourceVersion} \
-			-compatibility_version 1 \
-			-install_name /usr/lib/libc++.1.dylib \
-			-lSystem  \
-			-Wl,-unexported_symbols_list,libc++unexp.exp  \
-			${RE_EXPORT_LINE}  \
-			-Wl,-force_symbols_not_weak_list,notweak.exp \
-			-Wl,-force_symbols_weak_list,weak.exp"
-	fi
+    if [ "$MACOSX_DEPLOYMENT_TARGET" == "10.6" ]
+    then
+        EXTRA_FLAGS="-std=c++0x -U__STRICT_ANSI__"
+        LDSHARED_FLAGS="-o libc++.1.dylib \
+            -dynamiclib -nodefaultlibs -current_version 1 \
+            -compatibility_version 1 \
+            -install_name /usr/lib/libc++.1.dylib \
+            -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
+            -Wl,-unexported_symbols_list,libc++unexp.exp  \
+            /usr/lib/libSystem.B.dylib"
+    else
+        RE_EXPORT_LINE="/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++abi.exp"
+        if [ -n "$SDKROOT" ]
+        then
+            EXTRA_FLAGS+="-isysroot ${SDKROOT}"
+            if echo "${RC_ARCHS}" | grep -q "armv7"  
+            then
+                RE_EXPORT_LINE="${SDKROOT}/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,libc++sjlj-abi.exp"
+            else
+                RE_EXPORT_LINE="-Wl,-reexport_library,${SDKROOT}/usr/lib/libc++abi.dylib"
+            fi
+            CXX=`xcrun -sdk "${SDKROOT}"  -find clang++`
+            CC=`xcrun -sdk "${SDKROOT}"  -find clang`
+        fi
+        LDSHARED_FLAGS="-o libc++.1.dylib \
+            -dynamiclib -nodefaultlibs  \
+            -current_version ${RC_ProjectSourceVersion} \
+            -compatibility_version 1 \
+            -install_name /usr/lib/libc++.1.dylib \
+            -lSystem  \
+            -Wl,-unexported_symbols_list,libc++unexp.exp  \
+            ${RE_EXPORT_LINE}  \
+            -Wl,-force_symbols_not_weak_list,notweak.exp \
+            -Wl,-force_symbols_weak_list,weak.exp"
+    fi
     ;;
   *-*-mingw*)
     # FIXME: removing libgcc and libsupc++ dependencies means porting libcxxrt and LLVM/compiler-rt
@@ -88,7 +88,7 @@
     LDSHARED_FLAGS="-o libc++.dll \
         -shared -nodefaultlibs -Wl,--export-all-symbols -Wl,--allow-multiple-definition -Wl,--out-implib,libc++.dll.a \
         -lsupc++ -lpthread -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcr100 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt"
-	;;
+    ;;
   *)
     RC_CFLAGS="-fPIC"
     SOEXT=so
@@ -106,7 +106,7 @@
 set -x
 
 for FILE in ../src/*.cpp; do
-	$CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -nostdinc++ -I../include $FILE
+    $CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -nostdinc++ -I../include $FILE
 done
 case $TRIPLE in
   *-*-mingw*)
