| 
					
				 | 
			
			
				@@ -37,6 +37,10 @@ OPTIONS: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          Skip the invoke of Xcode to test the runtime on both iOS and OS X. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    --skip-xcode-ios 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          Skip the invoke of Xcode to test the runtime on iOS. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   --skip-xcode-debug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Skip the Xcode Debug configuration. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   --skip-xcode-release 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         Skip the Xcode Release configuration. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    --skip-xcode-osx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          Skip the invoke of Xcode to test the runtime on OS X. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    --skip-objc-conformance 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -66,8 +70,8 @@ wrapped_make() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 NUM_MAKE_JOBS=$(/usr/sbin/sysctl -n hw.ncpu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [[ "${NUM_MAKE_JOBS}" -lt 4 ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  NUM_MAKE_JOBS=4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [[ "${NUM_MAKE_JOBS}" -lt 2 ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  NUM_MAKE_JOBS=2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 DO_AUTOGEN=no 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -76,6 +80,8 @@ REGEN_DESCRIPTORS=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CORE_ONLY=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 DO_XCODE_IOS_TESTS=yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 DO_XCODE_OSX_TESTS=yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DO_XCODE_DEBUG=yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+DO_XCODE_RELEASE=yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 DO_OBJC_CONFORMANCE_TESTS=yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 while [[ $# != 0 ]]; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   case "${1}" in 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,6 +115,12 @@ while [[ $# != 0 ]]; do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --skip-xcode-osx ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DO_XCODE_OSX_TESTS=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    --skip-xcode-debug ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      DO_XCODE_DEBUG=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    --skip-xcode-release ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      DO_XCODE_RELEASE=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --skip-objc-conformance ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DO_OBJC_CONFORMANCE_TESTS=no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,8 +163,12 @@ if [[ "${DO_CLEAN}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         -project objectivec/ProtocolBuffers_iOS.xcodeproj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         -scheme ProtocolBuffers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Debug clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Release clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Debug clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Release clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     XCODEBUILD_CLEAN_BASE_OSX=( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,8 +176,12 @@ if [[ "${DO_CLEAN}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         -project objectivec/ProtocolBuffers_OSX.xcodeproj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         -scheme ProtocolBuffers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Debug clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Release clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Debug clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Release clean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,20 +242,20 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           -destination "platform=iOS Simulator,name=iPad Air,OS=9.0" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    7.3* ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    7.2* ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       XCODEBUILD_TEST_BASE_IOS+=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          -destination "platform=iOS Simulator,name=iPhone 6,OS=9.3" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          -destination "platform=iOS Simulator,name=iPhone 6,OS=9.2" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           -destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          -destination "platform=iOS Simulator,name=iPad Air,OS=9.3" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          -destination "platform=iOS Simulator,name=iPad Air,OS=9.2" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    7.* ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    7.3* ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       XCODEBUILD_TEST_BASE_IOS+=( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          -destination "platform=iOS Simulator,name=iPhone 6,OS=9.2" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          -destination "platform=iOS Simulator,name=iPhone 6,OS=9.3" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           -destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          -destination "platform=iOS Simulator,name=iPad Air,OS=9.2" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          -destination "platform=iOS Simulator,name=iPad Air,OS=9.3" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * ) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -243,10 +263,14 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       exit 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   esac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  header "Doing Xcode iOS build/tests - Debug" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Debug test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  header "Doing Xcode iOS build/tests - Release" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    header "Doing Xcode iOS build/tests - Debug" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Debug test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    header "Doing Xcode iOS build/tests - Release" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   # Don't leave the simulator in the developer's face. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   killall "${IOS_SIMULATOR_NAME}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -258,13 +282,18 @@ if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       # Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       -destination "platform=OS X,arch=x86_64" # 64bit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  header "Doing Xcode OS X build/tests - Debug" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Debug test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  header "Doing Xcode OS X build/tests - Release" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Release test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [[ "${DO_XCODE_DEBUG}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    header "Doing Xcode OS X build/tests - Debug" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Debug test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if [[ "${DO_XCODE_RELEASE}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    header "Doing Xcode OS X build/tests - Release" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Release test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [[ "${DO_OBJC_CONFORMANCE_TESTS}" == "yes" ]] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  header "Running ObjC Conformance Tests" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cd conformance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   wrapped_make -j "${NUM_MAKE_JOBS}" test_objc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cd .. 
			 |