Commits

dak180 committed 67d18b2

Split out downloads from building to better cope with version changes.

Comments (0)

Files changed (11)

Base.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A555E13832E430055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A556213832EAE0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A555D13832E430055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
+/* Begin PBXContainerItemProxy section */
+		436A558D13832FC10055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A555E13832E430055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
 		4300283612F24CFC00C31A83 /* .framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = .framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		4300283F12F24D6C00C31A83 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = configs/Base.xcconfig; sourceTree = "<group>"; };
 			buildRules = (
 			);
 			dependencies = (
+				436A558E13832FC10055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A555E13832E430055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
+		};
+		436A555D13832E430055D3E5 /* Mac Framework */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Mac Framework";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		436A558E13832FC10055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A555E13832E430055D3E5 /* Fetch Source */;
+			targetProxy = 436A558D13832FC10055D3E5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
 /* Begin XCBuildConfiguration section */
 		4300281D12F24C1E00C31A83 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			};
 			name = Debug;
 		};
+		436A555F13832E430055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A556013832E430055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A556113832E430055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE6B12F5BAD8008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A556213832EAE0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A555F13832E430055D3E5 /* Release */,
+				436A556013832E430055D3E5 /* Debug */,
+				436A556113832E430055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Gettext.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A557813832F700055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A558313832FB60055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A557713832F700055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		430028EC12F25D1300C31A83 /* bindtextdom.c in Sources */ = {isa = PBXBuildFile; fileRef = 430028B412F25D1300C31A83 /* bindtextdom.c */; };
 		430028EE12F25D1300C31A83 /* dcigettext.c in Sources */ = {isa = PBXBuildFile; fileRef = 430028B612F25D1300C31A83 /* dcigettext.c */; };
 		43002AFA12F26E7800C31A83 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 43002AF912F26E7800C31A83 /* libiconv.dylib */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		436A557C13832FB20055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A557813832F700055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
 		4300283612F24CFC00C31A83 /* Gettext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Gettext.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		4300283F12F24D6C00C31A83 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = configs/Base.xcconfig; sourceTree = "<group>"; };
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				430028B112F25C7200C31A83 /* Generate headers */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 			buildRules = (
 			);
 			dependencies = (
+				436A557D13832FB20055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A557813832F700055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		430028B112F25C7200C31A83 /* Generate headers */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Generate headers";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "cd external/gettext/gettext-runtime\n\n\ncat <<EOF > config.h\n#define ENABLE_NLS 1\n#define GNULIB_FWRITEERROR 1\n#define HAVE_ALLOCA 1\n#define HAVE_ALLOCA_H\n#define HAVE_ASPRINTF 1\n#define HAVE_ATEXIT 1\n#define HAVE_BUILTIN_EXPECT 1\n#define HAVE_CFLOCALECOPYCURRENT 1\n#define HAVE_CFPREFERENCESCOPYAPPVALUE 1\n#define HAVE_DECL_CLEARERR_UNLOCKED 1\n#define HAVE_DECL_FEOF_UNLOCKED 1\n#define HAVE_DECL_FERROR_UNLOCKED 1\n#define HAVE_DECL_FFLUSH_UNLOCKED 0\n#define HAVE_DECL_FGETS_UNLOCKED 0\n#define HAVE_DECL_FPUTC_UNLOCKED 0\n#define HAVE_DECL_FPUTS_UNLOCKED 0\n#define HAVE_DECL_FREAD_UNLOCKED 0\n#define HAVE_DECL_FWRITE_UNLOCKED 0\n#define HAVE_DECL_GETCHAR_UNLOCKED 1\n#define HAVE_DECL_GETC_UNLOCKED 1\n#define HAVE_DECL_GETENV 1\n#define HAVE_DECL_PUTCHAR_UNLOCKED 1\n#define HAVE_DECL_PUTC_UNLOCKED 1\n#define HAVE_DECL_STRDUP 1\n#define HAVE_DECL_STRERROR_R 1\n#define HAVE_DECL_WCWIDTH 1\n#define HAVE_DECL__SNPRINTF 0\n#define HAVE_DECL__SNWPRINTF 0\n#define HAVE_DLFCN_H 1\n#define HAVE_FWPRINTF 1\n#define HAVE_GETCWD 1\n#define HAVE_GETEGID 1\n#define HAVE_GETEUID 1\n#define HAVE_GETGID 1\n#define HAVE_GETOPT_H 1\n#define HAVE_GETOPT_LONG_ONLY 1\n#define HAVE_GETPAGESIZE 1\n#define HAVE_GETUID 1\n#define HAVE_ICONV 1\n#define HAVE_INTMAX_T 1\n#define HAVE_INTTYPES_H 1\n#define HAVE_INTTYPES_H_WITH_UINTMAX 1\n#define HAVE_ISWCNTRL 1\n#define HAVE_ISWPRINT 1\n#define HAVE_LANGINFO_CODESET 1\n#define HAVE_LC_MESSAGES 1\n#define HAVE_LIMITS_H 1\n#define HAVE_LONG_DOUBLE 1\n#define HAVE_LONG_LONG_INT 1\n#define HAVE_MBRTOWC 1\n#define HAVE_MBSTATE_T 1\n#define HAVE_MEMCHR 1\n#define HAVE_MEMMOVE 1\n#define HAVE_MEMORY_H 1\n#define HAVE_MMAP 1\n#define HAVE_MUNMAP 1\n#define HAVE_POSIX_PRINTF 1\n#define HAVE_PTHREAD_MUTEX_RECURSIVE 1\n#define HAVE_PTHREAD_RWLOCK 1\n#define HAVE_PUTENV 1\n#define HAVE_READLINK 1\n#define HAVE_SETENV 1\n#define HAVE_SETLOCALE 1\n#define HAVE_SNPRINTF 1\n#define HAVE_STDBOOL_H 1\n#define HAVE_STDDEF_H 1\n#define HAVE_STDINT_H 1\n#define HAVE_STDINT_H_WITH_UINTMAX 1\n#define HAVE_STDLIB_H 1\n#define HAVE_STPCPY 1\n#define HAVE_STRCASECMP 1\n#define HAVE_STRDUP 1\n#define HAVE_STRERROR 1\n#define HAVE_STRERROR_R 1\n#define HAVE_STRINGS_H 1\n#define HAVE_STRING_H 1\n#define HAVE_STRTOL 1\n#define HAVE_STRTOUL 1\n#define HAVE_SYS_PARAM_H 1\n#define HAVE_SYS_STAT_H 1\n#define HAVE_SYS_TYPES_H 1\n#define HAVE_TSEARCH 1\n#define HAVE_UINTMAX_T 1\n#define HAVE_UNISTD_H 1\n#define HAVE_UNSETENV 1\n#define HAVE_UNSIGNED_LONG_LONG 1\n#define HAVE_UNSIGNED_LONG_LONG_INT 1\n#define HAVE_VISIBILITY 1\n#define HAVE_WCHAR_H 1\n#define HAVE_WCHAR_T 1\n#define HAVE_WCSLEN 1\n#define HAVE_WCTYPE_H 1\n#define HAVE_WCWIDTH 1\n#define HAVE_WINT_T 1\n#define HAVE__BOOL 1\n#define ICONV_CONST const\n#define INSTALLPREFIX \"/usr/local\"\n#define INTDIV0_RAISES_SIGFPE 0\n#define MALLOC_0_IS_NONNULL 1\n#define PACKAGE \"gettext-runtime\"\n#define PACKAGE_BUGREPORT \"\"\n#define PACKAGE_NAME \"\"\n#define PACKAGE_STRING \"\"\n#define PACKAGE_TARNAME \"\"\n#define PACKAGE_VERSION \"\"\n#define STDC_HEADERS 1\n#define USE_POSIX_THREADS 1\n#define USE_UNLOCKED_IO 1\n#define VERSION \"0.16.1\"\n#define VOID_UNSETENV 1\n#ifndef _GNU_SOURCE\n# define _GNU_SOURCE 1\n#endif\n#ifndef _POSIX_PTHREAD_SEMANTICS\n# define _POSIX_PTHREAD_SEMANTICS 1\n#endif\n#ifndef _TANDEM_SOURCE\n# define _TANDEM_SOURCE 1\n#endif\n#define __GETOPT_PREFIX rpl_\n#define realpath rpl_realpath\n#define __libc_lock_t                   gl_lock_t\n#define __libc_lock_define              gl_lock_define\n#define __libc_lock_define_initialized  gl_lock_define_initialized\n#define __libc_lock_init                gl_lock_init\n#define __libc_lock_lock                gl_lock_lock\n#define __libc_lock_unlock              gl_lock_unlock\n#define __libc_lock_recursive_t                   gl_recursive_lock_t\n#define __libc_lock_define_recursive              gl_recursive_lock_define\n#define __libc_lock_define_initialized_recursive  gl_recursive_lock_define_initialized\n#define __libc_lock_init_recursive                gl_recursive_lock_init\n#define __libc_lock_lock_recursive                gl_recursive_lock_lock\n#define __libc_lock_unlock_recursive              gl_recursive_lock_unlock\n#define glthread_in_use  libintl_thread_in_use\n#define glthread_once_call            libintl_once_call\n#define glthread_once_singlethreaded  libintl_once_singlethreaded\nEOF\n\ncd intl\n\ncat libgnuintl.h.in \\\n| sed -e '/IN_LIBGLOCALE/d' \\\n      -e 's,@''HAVE_POSIX_PRINTF''@,1,g' \\\n      -e 's,@''HAVE_ASPRINTF''@,1,g' \\\n      -e 's,@''HAVE_SNPRINTF''@,1,g' \\\n      -e 's,@''HAVE_NEWLOCALE''@,1,g' \\\n      -e 's,@''HAVE_WPRINTF''@,0,g' \\\n| sed -e 's/extern \\([^\"]\\)/extern LIBINTL_DLL_EXPORTED \\1/' \\\n      -e \"/#define _LIBINTL_H/r ./export.h\" \\\n| sed -e 's,@''HAVE_VISIBILITY''@,1,g' \\\n  > libgnuintl.h\n\ncat libgnuintl.h \\\n| sed -e '/IN_LIBGLOCALE/d' \\\n      -e 's,@''HAVE_POSIX_PRINTF''@,1,g' \\\n      -e 's,@''HAVE_ASPRINTF''@,1,g' \\\n      -e 's,@''HAVE_SNPRINTF''@,1,g' \\\n      -e 's,@''HAVE_WPRINTF''@,0,g' \\\n  > libintl.h\n";
 		};
-		430028B112F25C7200C31A83 /* Generate headers */ = {
+		436A557713832F700055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Generate headers";
+			name = "Mac Framework";
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "cd external/gettext/gettext-runtime\n\n\ncat <<EOF > config.h\n#define ENABLE_NLS 1\n#define GNULIB_FWRITEERROR 1\n#define HAVE_ALLOCA 1\n#define HAVE_ALLOCA_H\n#define HAVE_ASPRINTF 1\n#define HAVE_ATEXIT 1\n#define HAVE_BUILTIN_EXPECT 1\n#define HAVE_CFLOCALECOPYCURRENT 1\n#define HAVE_CFPREFERENCESCOPYAPPVALUE 1\n#define HAVE_DECL_CLEARERR_UNLOCKED 1\n#define HAVE_DECL_FEOF_UNLOCKED 1\n#define HAVE_DECL_FERROR_UNLOCKED 1\n#define HAVE_DECL_FFLUSH_UNLOCKED 0\n#define HAVE_DECL_FGETS_UNLOCKED 0\n#define HAVE_DECL_FPUTC_UNLOCKED 0\n#define HAVE_DECL_FPUTS_UNLOCKED 0\n#define HAVE_DECL_FREAD_UNLOCKED 0\n#define HAVE_DECL_FWRITE_UNLOCKED 0\n#define HAVE_DECL_GETCHAR_UNLOCKED 1\n#define HAVE_DECL_GETC_UNLOCKED 1\n#define HAVE_DECL_GETENV 1\n#define HAVE_DECL_PUTCHAR_UNLOCKED 1\n#define HAVE_DECL_PUTC_UNLOCKED 1\n#define HAVE_DECL_STRDUP 1\n#define HAVE_DECL_STRERROR_R 1\n#define HAVE_DECL_WCWIDTH 1\n#define HAVE_DECL__SNPRINTF 0\n#define HAVE_DECL__SNWPRINTF 0\n#define HAVE_DLFCN_H 1\n#define HAVE_FWPRINTF 1\n#define HAVE_GETCWD 1\n#define HAVE_GETEGID 1\n#define HAVE_GETEUID 1\n#define HAVE_GETGID 1\n#define HAVE_GETOPT_H 1\n#define HAVE_GETOPT_LONG_ONLY 1\n#define HAVE_GETPAGESIZE 1\n#define HAVE_GETUID 1\n#define HAVE_ICONV 1\n#define HAVE_INTMAX_T 1\n#define HAVE_INTTYPES_H 1\n#define HAVE_INTTYPES_H_WITH_UINTMAX 1\n#define HAVE_ISWCNTRL 1\n#define HAVE_ISWPRINT 1\n#define HAVE_LANGINFO_CODESET 1\n#define HAVE_LC_MESSAGES 1\n#define HAVE_LIMITS_H 1\n#define HAVE_LONG_DOUBLE 1\n#define HAVE_LONG_LONG_INT 1\n#define HAVE_MBRTOWC 1\n#define HAVE_MBSTATE_T 1\n#define HAVE_MEMCHR 1\n#define HAVE_MEMMOVE 1\n#define HAVE_MEMORY_H 1\n#define HAVE_MMAP 1\n#define HAVE_MUNMAP 1\n#define HAVE_POSIX_PRINTF 1\n#define HAVE_PTHREAD_MUTEX_RECURSIVE 1\n#define HAVE_PTHREAD_RWLOCK 1\n#define HAVE_PUTENV 1\n#define HAVE_READLINK 1\n#define HAVE_SETENV 1\n#define HAVE_SETLOCALE 1\n#define HAVE_SNPRINTF 1\n#define HAVE_STDBOOL_H 1\n#define HAVE_STDDEF_H 1\n#define HAVE_STDINT_H 1\n#define HAVE_STDINT_H_WITH_UINTMAX 1\n#define HAVE_STDLIB_H 1\n#define HAVE_STPCPY 1\n#define HAVE_STRCASECMP 1\n#define HAVE_STRDUP 1\n#define HAVE_STRERROR 1\n#define HAVE_STRERROR_R 1\n#define HAVE_STRINGS_H 1\n#define HAVE_STRING_H 1\n#define HAVE_STRTOL 1\n#define HAVE_STRTOUL 1\n#define HAVE_SYS_PARAM_H 1\n#define HAVE_SYS_STAT_H 1\n#define HAVE_SYS_TYPES_H 1\n#define HAVE_TSEARCH 1\n#define HAVE_UINTMAX_T 1\n#define HAVE_UNISTD_H 1\n#define HAVE_UNSETENV 1\n#define HAVE_UNSIGNED_LONG_LONG 1\n#define HAVE_UNSIGNED_LONG_LONG_INT 1\n#define HAVE_VISIBILITY 1\n#define HAVE_WCHAR_H 1\n#define HAVE_WCHAR_T 1\n#define HAVE_WCSLEN 1\n#define HAVE_WCTYPE_H 1\n#define HAVE_WCWIDTH 1\n#define HAVE_WINT_T 1\n#define HAVE__BOOL 1\n#define ICONV_CONST const\n#define INSTALLPREFIX \"/usr/local\"\n#define INTDIV0_RAISES_SIGFPE 0\n#define MALLOC_0_IS_NONNULL 1\n#define PACKAGE \"gettext-runtime\"\n#define PACKAGE_BUGREPORT \"\"\n#define PACKAGE_NAME \"\"\n#define PACKAGE_STRING \"\"\n#define PACKAGE_TARNAME \"\"\n#define PACKAGE_VERSION \"\"\n#define STDC_HEADERS 1\n#define USE_POSIX_THREADS 1\n#define USE_UNLOCKED_IO 1\n#define VERSION \"0.16.1\"\n#define VOID_UNSETENV 1\n#ifndef _GNU_SOURCE\n# define _GNU_SOURCE 1\n#endif\n#ifndef _POSIX_PTHREAD_SEMANTICS\n# define _POSIX_PTHREAD_SEMANTICS 1\n#endif\n#ifndef _TANDEM_SOURCE\n# define _TANDEM_SOURCE 1\n#endif\n#define __GETOPT_PREFIX rpl_\n#define realpath rpl_realpath\n#define __libc_lock_t                   gl_lock_t\n#define __libc_lock_define              gl_lock_define\n#define __libc_lock_define_initialized  gl_lock_define_initialized\n#define __libc_lock_init                gl_lock_init\n#define __libc_lock_lock                gl_lock_lock\n#define __libc_lock_unlock              gl_lock_unlock\n#define __libc_lock_recursive_t                   gl_recursive_lock_t\n#define __libc_lock_define_recursive              gl_recursive_lock_define\n#define __libc_lock_define_initialized_recursive  gl_recursive_lock_define_initialized\n#define __libc_lock_init_recursive                gl_recursive_lock_init\n#define __libc_lock_lock_recursive                gl_recursive_lock_lock\n#define __libc_lock_unlock_recursive              gl_recursive_lock_unlock\n#define glthread_in_use  libintl_thread_in_use\n#define glthread_once_call            libintl_once_call\n#define glthread_once_singlethreaded  libintl_once_singlethreaded\nEOF\n\ncd intl\n\ncat libgnuintl.h.in \\\n| sed -e '/IN_LIBGLOCALE/d' \\\n      -e 's,@''HAVE_POSIX_PRINTF''@,1,g' \\\n      -e 's,@''HAVE_ASPRINTF''@,1,g' \\\n      -e 's,@''HAVE_SNPRINTF''@,1,g' \\\n      -e 's,@''HAVE_NEWLOCALE''@,1,g' \\\n      -e 's,@''HAVE_WPRINTF''@,0,g' \\\n| sed -e 's/extern \\([^\"]\\)/extern LIBINTL_DLL_EXPORTED \\1/' \\\n      -e \"/#define _LIBINTL_H/r ./export.h\" \\\n| sed -e 's,@''HAVE_VISIBILITY''@,1,g' \\\n  > libgnuintl.h\n\ncat libgnuintl.h \\\n| sed -e '/IN_LIBGLOCALE/d' \\\n      -e 's,@''HAVE_POSIX_PRINTF''@,1,g' \\\n      -e 's,@''HAVE_ASPRINTF''@,1,g' \\\n      -e 's,@''HAVE_SNPRINTF''@,1,g' \\\n      -e 's,@''HAVE_WPRINTF''@,0,g' \\\n  > libintl.h\n";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		436A557D13832FB20055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A557813832F700055D3E5 /* Fetch Source */;
+			targetProxy = 436A557C13832FB20055D3E5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
 /* Begin XCBuildConfiguration section */
 		4300281D12F24C1E00C31A83 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			};
 			name = Debug;
 		};
+		436A557913832F700055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300286F12F2563900C31A83 /* Gettext-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A557A13832F700055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300286F12F2563900C31A83 /* Gettext-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A557B13832F700055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300286F12F2563900C31A83 /* Gettext-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE6812F5BACC008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A558313832FB60055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A557913832F700055D3E5 /* Release */,
+				436A557A13832F700055D3E5 /* Debug */,
+				436A557B13832F700055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Jpeg.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A55A3138343460055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A55AB138343950055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A55A2138343460055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		430CA76212F297230070E87A /* jconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 430CA75B12F297230070E87A /* jconfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		430CA76312F297230070E87A /* jerror.h in Headers */ = {isa = PBXBuildFile; fileRef = 430CA75C12F297230070E87A /* jerror.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		430CA7E612F29BD50070E87A /* jmemansi.c in Sources */ = {isa = PBXBuildFile; fileRef = 430CA7E512F29BD50070E87A /* jmemansi.c */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		436A55A7138343850055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A55A3138343460055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
 		4300283612F24CFC00C31A83 /* Jpeg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jpeg.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		4300283F12F24D6C00C31A83 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = configs/Base.xcconfig; sourceTree = "<group>"; };
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				430CA75612F295070070E87A /* Generate headers */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 			buildRules = (
 			);
 			dependencies = (
+				436A55A8138343850055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A55A3138343460055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		430CA75612F295070070E87A /* Generate headers */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
+				"$(SRCROOT)/external/jpeg/jconfig.txt",
 			);
-			name = "Fetch Source";
+			name = "Generate headers";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
+				"$(SRCROOT)/external/jpeg/jconfig.h",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}src.v${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "cp -pv external/jpeg/jconfig.txt external/jpeg/jconfig.h";
 		};
-		430CA75612F295070070E87A /* Generate headers */ = {
+		436A55A2138343460055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
-				"$(SRCROOT)/external/jpeg/jconfig.txt",
 			);
-			name = "Generate headers";
+			name = "Mac Framework";
 			outputPaths = (
-				"$(SRCROOT)/external/jpeg/jconfig.h",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "cp -pv external/jpeg/jconfig.txt external/jpeg/jconfig.h";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}src.v${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		436A55A8138343850055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A55A3138343460055D3E5 /* Fetch Source */;
+			targetProxy = 436A55A7138343850055D3E5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
 /* Begin XCBuildConfiguration section */
 		4300281D12F24C1E00C31A83 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			};
 			name = Debug;
 		};
+		436A55A4138343470055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 430CA75012F294430070E87A /* Jpeg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A55A5138343470055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 430CA75012F294430070E87A /* Jpeg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A55A6138343470055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 430CA75012F294430070E87A /* Jpeg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE6312F5BAC2008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A55AB138343950055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A55A4138343470055D3E5 /* Release */,
+				436A55A5138343470055D3E5 /* Debug */,
+				436A55A6138343470055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Ogg.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A55B8138347730055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A55C0138347D50055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A55B7138347730055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		4300289512F2597D00C31A83 /* ogg.h in Headers */ = {isa = PBXBuildFile; fileRef = 4300289112F2597D00C31A83 /* ogg.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		4300289612F2597D00C31A83 /* os_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4300289212F2597D00C31A83 /* os_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		4300289812F2597D00C31A83 /* framing.c in Sources */ = {isa = PBXBuildFile; fileRef = 4300289412F2597D00C31A83 /* framing.c */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		436A55BC138347B70055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A55B8138347730055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
 		4300283612F24CFC00C31A83 /* Ogg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Ogg.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		4300283F12F24D6C00C31A83 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Base.xcconfig; path = configs/Base.xcconfig; sourceTree = "<group>"; };
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 				4300283312F24CFC00C31A83 /* Sources */,
 			buildRules = (
 			);
 			dependencies = (
+				436A55BD138347B70055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A55B8138347730055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		436A55B7138347730055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Mac Framework";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		436A55BD138347B70055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A55B8138347730055D3E5 /* Fetch Source */;
+			targetProxy = 436A55BC138347B70055D3E5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
 /* Begin XCBuildConfiguration section */
 		4300281D12F24C1E00C31A83 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			};
 			name = Debug;
 		};
+		436A55B9138347730055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300288B12F2588600C31A83 /* Ogg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A55BA138347730055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300288B12F2588600C31A83 /* Ogg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A55BB138347730055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 4300288B12F2588600C31A83 /* Ogg-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE6112F5BAB4008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A55C0138347D50055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A55B9138347730055D3E5 /* Release */,
+				436A55BA138347730055D3E5 /* Debug */,
+				436A55BB138347730055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

PhysFS.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A55DD138349BA0055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A55E1138349E50055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A55DC138349BA0055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		43002B6F12F2780A00C31A83 /* dir.c in Sources */ = {isa = PBXBuildFile; fileRef = 43002B5812F2780A00C31A83 /* dir.c */; };
 		43002B7012F2780A00C31A83 /* grp.c in Sources */ = {isa = PBXBuildFile; fileRef = 43002B5912F2780A00C31A83 /* grp.c */; };
 			remoteGlobalIDString = 4300283512F24CFC00C31A83;
 			remoteInfo = "Mac Framework";
 		};
+		436A55E2138349FB0055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A55DD138349BA0055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 				4300283312F24CFC00C31A83 /* Sources */,
 			);
 			dependencies = (
 				43002D0712F279B900C31A83 /* PBXTargetDependency */,
+				436A55E3138349FB0055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A55DD138349BA0055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		436A55DC138349BA0055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Mac Framework";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 			name = "Mac Framework";
 			targetProxy = 43002D0612F279B900C31A83 /* PBXContainerItemProxy */;
 		};
+		436A55E3138349FB0055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A55DD138349BA0055D3E5 /* Fetch Source */;
+			targetProxy = 436A55E2138349FB0055D3E5 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
 			};
 			name = Debug;
 		};
+		436A55DE138349BA0055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B5212F2776E00C31A83 /* PhysFS-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A55DF138349BA0055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B5212F2776E00C31A83 /* PhysFS-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A55E0138349BA0055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B5212F2776E00C31A83 /* PhysFS-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE5F12F5BAA8008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A55E1138349E50055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A55DE138349BA0055D3E5 /* Release */,
+				436A55DF138349BA0055D3E5 /* Debug */,
+				436A55E0138349BA0055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Png.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A55F713834A390055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A560213834A7E0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A55F613834A390055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		43002D2712F27C0300C31A83 /* Zlib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43002D2512F27BEE00C31A83 /* Zlib.framework */; };
 		43002D4512F27D5600C31A83 /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 43002D3212F27D5600C31A83 /* png.c */; };
 			remoteGlobalIDString = 4300283512F24CFC00C31A83;
 			remoteInfo = "Mac Framework";
 		};
+		436A55FB13834A740055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A55F713834A390055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				4357EFAD1361112600EB008B /* Generate headers */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 			);
 			dependencies = (
 				43002D2912F27C0F00C31A83 /* PBXTargetDependency */,
+				436A55FC13834A740055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A55F713834A390055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		4357EFAD1361112600EB008B /* Generate headers */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Generate headers";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "cd ${SRCROOT}/external/libpng\n\nscripts/pnglibconf.mak\nexit ${?}\n";
 		};
-		4357EFAD1361112600EB008B /* Generate headers */ = {
+		436A55F613834A390055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Generate headers";
+			name = "Mac Framework";
 			outputPaths = (
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "cd ${SRCROOT}/external/libpng\n\nscripts/pnglibconf.mak\nexit ${?}\n";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 			name = "Mac Framework";
 			targetProxy = 43002D2812F27C0F00C31A83 /* PBXContainerItemProxy */;
 		};
+		436A55FC13834A740055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A55F713834A390055D3E5 /* Fetch Source */;
+			targetProxy = 436A55FB13834A740055D3E5 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
 			};
 			name = Debug;
 		};
+		436A55F813834A390055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D2A12F27C2B00C31A83 /* Png-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A55F913834A390055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D2A12F27C2B00C31A83 /* Png-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A55FA13834A390055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D2A12F27C2B00C31A83 /* Png-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE5912F5BA6B008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A560213834A7E0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A55F813834A390055D3E5 /* Release */,
+				436A55F913834A390055D3E5 /* Debug */,
+				436A55FA13834A390055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Theora.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A561813834BF40055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A562313834C390055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A561713834BF40055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		43002E5512F282EC00C31A83 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43002E4D12F282DA00C31A83 /* Ogg.framework */; };
 		43002E5612F282ED00C31A83 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43002E5412F282DA00C31A83 /* Vorbis.framework */; };
 			remoteGlobalIDString = 4300283512F24CFC00C31A83;
 			remoteInfo = "Mac Framework";
 		};
+		436A561C13834C2C0055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A561813834BF40055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 				4300283312F24CFC00C31A83 /* Sources */,
 			dependencies = (
 				43002E5B12F2837700C31A83 /* PBXTargetDependency */,
 				43002E5D12F2837700C31A83 /* PBXTargetDependency */,
+				436A561D13834C2C0055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A561813834BF40055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		436A561713834BF40055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Mac Framework";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 			name = "Mac Framework";
 			targetProxy = 43002E5C12F2837700C31A83 /* PBXContainerItemProxy */;
 		};
+		436A561D13834C2C0055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A561813834BF40055D3E5 /* Fetch Source */;
+			targetProxy = 436A561C13834C2C0055D3E5 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
 			};
 			name = Debug;
 		};
+		436A561913834BF40055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002E5712F2830C00C31A83 /* Theora-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A561A13834BF40055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002E5712F2830C00C31A83 /* Theora-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A561B13834BF40055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002E5712F2830C00C31A83 /* Theora-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE5312F5BA58008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A562313834C390055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A561913834BF40055D3E5 /* Release */,
+				436A561A13834BF40055D3E5 /* Debug */,
+				436A561B13834BF40055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Vorbis.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A563413834C910055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A563D13834CA30055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A563313834C910055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		43002D7A12F27F2700C31A83 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43002D7912F27F1E00C31A83 /* Ogg.framework */; };
 		43002DD812F27FF600C31A83 /* codec.h in Headers */ = {isa = PBXBuildFile; fileRef = 43002D8012F27FF600C31A83 /* codec.h */; settings = {ATTRIBUTES = (Public, ); }; };
 			remoteGlobalIDString = 4300283512F24CFC00C31A83;
 			remoteInfo = "Mac Framework";
 		};
+		436A563E13834CF50055D3E5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4300281C12F24C1E00C31A83 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 436A563413834C910055D3E5 /* Fetch Source */;
+			remoteInfo = "Fetch Source";
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4300283B12F24CFD00C31A83 /* Build configuration list for PBXNativeTarget "Mac Framework" */;
 			buildPhases = (
-				4300284E12F24F2D00C31A83 /* Fetch Source */,
 				4300283112F24CFC00C31A83 /* Headers */,
 				4300283212F24CFC00C31A83 /* Resources */,
 				4300283312F24CFC00C31A83 /* Sources */,
 			);
 			dependencies = (
 				43002E2E12F280DF00C31A83 /* PBXTargetDependency */,
+				436A563F13834CF50055D3E5 /* PBXTargetDependency */,
 			);
 			name = "Mac Framework";
 			productName = Untitled;
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A563413834C910055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		4300284E12F24F2D00C31A83 /* Fetch Source */ = {
+		436A563313834C910055D3E5 /* Mac Framework */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
 			);
-			name = "Fetch Source";
+			name = "Mac Framework";
 			outputPaths = (
-				"$(SRCROOT)/external/$(PRODUCT_INFO_SHORTNAME)/",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 			name = "Mac Framework";
 			targetProxy = 43002E2D12F280DF00C31A83 /* PBXContainerItemProxy */;
 		};
+		436A563F13834CF50055D3E5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 436A563413834C910055D3E5 /* Fetch Source */;
+			targetProxy = 436A563E13834CF50055D3E5 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
 			};
 			name = Debug;
 		};
+		436A563513834C910055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D7B12F27F4100C31A83 /* Vorbis-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A563613834C910055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D7B12F27F4100C31A83 /* Vorbis-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A563713834C910055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002D7B12F27F4100C31A83 /* Vorbis-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE4D12F5BA4C008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A563D13834CA30055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A563513834C910055D3E5 /* Release */,
+				436A563613834C910055D3E5 /* Debug */,
+				436A563713834C910055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

Zlib.xcodeproj/project.pbxproj

 	objectVersion = 46;
 	objects = {
 
+/* Begin PBXAggregateTarget section */
+		436A564C13834D5F0055D3E5 /* Fetch Source */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 436A565513834D9A0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */;
+			buildPhases = (
+				436A564B13834D5F0055D3E5 /* Mac Framework */,
+			);
+			dependencies = (
+			);
+			name = "Fetch Source";
+			productName = "Fetch Source";
+		};
+/* End PBXAggregateTarget section */
+
 /* Begin PBXBuildFile section */
 		43002B2A12F2761700C31A83 /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 43002B1012F2761700C31A83 /* adler32.c */; };
 		43002B2B12F2761700C31A83 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 43002B1112F2761700C31A83 /* compress.c */; };
 			projectRoot = "";
 			targets = (
 				4300283512F24CFC00C31A83 /* Mac Framework */,
+				436A564C13834D5F0055D3E5 /* Fetch Source */,
 			);
 		};
 /* End PBXProject section */
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}";
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
+		};
+		436A564B13834D5F0055D3E5 /* Mac Framework */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Mac Framework";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "OutDir=\"${PRODUCT_INFO_SHORTNAME}\"\nDirectorY=\"${OutDir}-${PRODUCT_INFO_VERSION}\"\nFileName=\"${OutDir}-${PRODUCT_INFO_VERSION}.tar.gz\"\nSourceDLP=\"http://${PRODUCT_INFO_PATH}${FileName}\"\nMD5Sum=\"${PRODUCT_INFO_HASH}\"\n\nconfigs/FetchSource.sh \"${DirectorY}\" \"${OutDir}\" \"${FileName}\" \"${SourceDLP}\" \"${MD5Sum}\"\nexit ${?}\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
 			};
 			name = Debug;
 		};
+		436A564D13834D5F0055D3E5 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B0812F2748400C31A83 /* Zlib-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Release;
+		};
+		436A564E13834D5F0055D3E5 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B0812F2748400C31A83 /* Zlib-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = Debug;
+		};
+		436A564F13834D5F0055D3E5 /* StaticAnalyzer */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 43002B0812F2748400C31A83 /* Zlib-All.xcconfig */;
+			buildSettings = {
+				PRODUCT_NAME = "Fetch Source";
+			};
+			name = StaticAnalyzer;
+		};
 		43D8CE4A12F5BA3B008B0E4F /* StaticAnalyzer */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 4300283F12F24D6C00C31A83 /* Base.xcconfig */;
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		436A565513834D9A0055D3E5 /* Build configuration list for PBXAggregateTarget "Fetch Source" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				436A564D13834D5F0055D3E5 /* Release */,
+				436A564E13834D5F0055D3E5 /* Debug */,
+				436A564F13834D5F0055D3E5 /* StaticAnalyzer */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 4300281C12F24C1E00C31A83 /* Project object */;

configs/FetchPrebuilt.sh

 # Make sure we are in the right place
 cd "${SRCROOT}"
 if [ ! -d "external" ]; then
-    mkdir external
+	mkdir external
 fi
 if [ ! -d "prebuilt" ]; then
-    mkdir prebuilt
+	mkdir prebuilt
 fi
 
 # Checks
 if [ "${ACTION}" = "clean" ]; then
-    # Force cleaning when directed
-    rm -fRv "prebuilt/${DirectorY}" "external/${OutDir}"
-    MD5SumLoc=`md5 -q "prebuilt/${FileName}"`
-    if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-        rm -fRv "prebuilt/${FileName}"
-    fi
-    exit 0
+	# Force cleaning when directed
+	rm -fRv "prebuilt/${DirectorY}" "external/${OutDir}"
+	MD5SumLoc=`md5 -q "prebuilt/${FileName}"`
+	if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
+		rm -fRv "prebuilt/${FileName}"
+	fi
+	exit 0
 elif [ -d "prebuilt/${DirectorY}" ]; then
-    # Clean if dirty
-    echo "error: ${DirectorY} exists, probably from an earlier failed run" >&2
-    #rm -frv "prebuilt/${DirectorY}"
-    exit 1
+	# Clean if dirty
+	echo "error: ${DirectorY} exists, probably from an earlier failed run" >&2
+	#rm -frv "prebuilt/${DirectorY}"
+	exit 1
 elif [[ -d "external/${OutDir}" ]] && [[ ! -f "prebuilt/${FileName}" ]]; then
-    # Clean up when updating versions
-    echo "error: Cached file is outdated or incomplete, removing" >&2
-    rm -fR "prebuilt/${DirectorY}" "external/${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
+	# Clean up when updating versions
+	echo "error: Cached file is outdated or incomplete, removing" >&2
+	rm -fR "prebuilt/${DirectorY}" "external/${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
 elif [[ -d "external/${OutDir}" ]] && [[ -f "prebuilt/${FileName}" ]]; then
-    # Check to make sure we have the right file
-    MD5SumLoc=`md5 -q "prebuilt/${FileName}"`
-    if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-        echo "error: Cached file is outdated or incorrect, removing" >&2
-        rm -fR "prebuilt/${FileName}" "prebuilt/${DirectorY}" "external/${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
-    else
-        # Do not do more work then we have to
-        echo "${OutDir} already exists, skipping"
-        exit 0
-    fi
+	# Check to make sure we have the right file
+	MD5SumLoc=`md5 -q "prebuilt/${FileName}"`
+	if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
+		echo "error: Cached file is outdated or incorrect, removing" >&2
+		rm -fR "prebuilt/${FileName}" "prebuilt/${DirectorY}" "external/${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
+	else
+		# Do not do more work then we have to
+		echo "${OutDir} already exists, skipping"
+		exit 0
+	fi
 fi
 
 # Fetch
 cd prebuilt
 if [ ! -f "${FileName}" ]; then
-    echo "Fetching ${FileName}"
-    if ! curl -LfO --connect-timeout "30" "${BuiltDLP}"; then
-        echo "error: Unable to fetch ${BuiltDLP}" >&2
-        exit 1
-    fi
+	echo "Fetching ${FileName}"
+	if ! curl -LfO --connect-timeout "30" "${BuiltDLP}"; then
+		echo "error: Unable to fetch ${BuiltDLP}" >&2
+		exit 1
+	fi
 else
-    echo "${FileName} already exists, skipping"
+	echo "${FileName} already exists, skipping"
 fi
 
 # MD5 check
 MD5SumLoc=`md5 -q "${FileName}"`
 if [ -z "${MD5SumLoc}" ]; then
-    echo "error: Unable to compute md5 for ${FileName}" >&2
-    exit 1
+	echo "error: Unable to compute md5 for ${FileName}" >&2
+	exit 1
 elif [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-    echo "error: MD5 does not match for ${FileName}" >&2
-    exit 1
+	echo "error: MD5 does not match for ${FileName}" >&2
+	exit 1
 fi
 
 # Unpack
 if ! tar -xzf "${FileName}"; then
-    echo "error: Unpacking $FileName failed" >&2
-    exit 1
+	echo "error: Unpacking $FileName failed" >&2
+	exit 1
 fi
 
 # Move
 if [ ! -d "${DirectorY}" ]; then
-    echo "error: Can't find $DirectorY to rename" >&2
-    exit 1
+	echo "error: Can't find $DirectorY to rename" >&2
+	exit 1
 else
-    cd ..
-    mv "prebuilt/${DirectorY}" "external/${OutDir}"
-    touch external/${OutDir}/*
+	cd ..
+	mv "prebuilt/${DirectorY}" "external/${OutDir}"
+	touch external/${OutDir}/*
 fi
 
 exit 0

configs/FetchSource.sh

 FileName="$3"
 SourceDLP="$4"
 MD5Sum="$5"
+BackupDLP=""
 
 
 # Make sure we are in the right place
 cd "${SRCROOT}"
 if [ ! -d "external" ]; then
-    mkdir external
+	mkdir external
 fi
 cd external
 
 # Checks
 if [ "${ACTION}" = "clean" ]; then
-    # Force cleaning when directed
-    rm -fRv "${DirectorY}" "${OutDir}"
-    MD5SumLoc=`md5 -q "${FileName}"`
-    if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-        rm -fRv "${FileName}"
-    fi
-    exit 0
+	# Force cleaning when directed
+	rm -fRv "${DirectorY}" "${OutDir}"
+	MD5SumLoc=`md5 -q "${FileName}"`
+	if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
+		rm -fRv "${FileName}"
+	fi
+	exit 0
 elif [ -d "${DirectorY}" ]; then
-    # Clean if dirty
-    echo "error: ${DirectorY} exists, probably from an earlier failed run" >&2
-    #rm -fRv "${DirectorY}"
-    exit 1
+	# Clean if dirty
+	echo "error: ${DirectorY} exists, probably from an earlier failed run" >&2
+	#rm -fRv "${DirectorY}"
+	exit 1
 elif [[ -d "${OutDir}" ]] && [[ ! -f "${FileName}" ]]; then
-    # Clean up when updating versions
-    echo "error: Cached file is outdated or incomplete, removing" >&2
-    rm -fR "${DirectorY}" "${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
+	# Clean up when updating versions
+	echo "warning: Cached file is outdated or incomplete, removing" >&2
+	rm -fR "${DirectorY}" "${OutDir}"
 elif [[ -d "${OutDir}" ]] && [[ -f "${FileName}" ]]; then
-    # Check to make sure we have the right file
-    MD5SumLoc=`md5 -q "${FileName}"`
-    if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-        echo "error: Cached file is outdated or incorrect, removing" >&2
-        rm -fR "${FileName}" "${DirectorY}" "${OutDir}" "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}" "${TARGET_TEMP_DIR}"
-    else
-        # Do not do more work then we have to
-        echo "${OutDir} already exists, skipping"
-        exit 0
-    fi
+	# Check to make sure we have the right file
+	MD5SumLoc=`cat "${OutDir}/.MD5SumLoc"`
+	if [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
+		echo "warning: Cached file is outdated or incorrect, removing" >&2
+		rm -fR "${DirectorY}" "${OutDir}"
+		MD5SumFle=`md5 -q "${FileName}"`
+		if [ "${MD5SumFle}" != "${MD5Sum}" ]; then
+			rm -fR "${FileName}"
+		fi
+	else
+		# Do not do more work then we have to
+		echo "${OutDir} already exists, skipping"
+		exit 0
+	fi
 fi
 
 # Fetch
 if [ ! -r "${FileName}" ]; then
-    echo "Fetching ${SourceDLP}"
-    if ! curl -Lfo "${FileName}" --connect-timeout "30" "${SourceDLP}"; then
-        echo "error: Unable to fetch ${SourceDLP}" >&2
-        exit 1
-    fi
+	echo "Fetching ${SourceDLP}"
+	if ! curl -Lfo "${FileName}" --connect-timeout "30" "${SourceDLP}"; then
+		if [ "${BackupDLP}" = "" ]; then
+			echo "error: Unable to fetch ${SourceDLP}" >&2
+			exit 1
+		else
+			if ! curl -LfOC - --connect-timeout "30" "${BackupDLP}${FileName}"; then
+				echo "error: Unable to fetch ${SourceDLP}" >&2
+				exit 1
+			fi
+		fi
+	fi
 else
-    echo "${FileName} already exists, skipping"
+	echo "${FileName} already exists, skipping"
 fi
 
 # Check our sums
 MD5SumLoc=`md5 -q "${FileName}"`
 if [ -z "${MD5SumLoc}" ]; then
-    echo "error: Unable to compute md5 for ${FileName}" >&2
-    exit 1
+	echo "error: Unable to compute md5 for ${FileName}" >&2
+	exit 1
 elif [ "${MD5SumLoc}" != "${MD5Sum}" ]; then
-    echo "error: MD5 does not match for ${FileName}" >&2
-    exit 1
+	echo "error: MD5 does not match for ${FileName}" >&2
+	exit 1
 fi
 
 # Unpack
 ExtensioN=`echo ${FileName} | sed -e 's:^.*\.\([^.]*\):\1:'`
-if [ "${ExtensioN}" = "gz" ]; then
-    if ! tar -zxf "${FileName}"; then
-        echo "error: Unpacking ${FileName} failed" >&2
-        exit 1
-    fi
+if [[ "${ExtensioN}" = "gz" ]] || [[ "${ExtensioN}" = "tgz" ]]; then
+	if ! tar -zxf "${FileName}"; then
+		echo "error: Unpacking ${FileName} failed" >&2
+		exit 1
+	fi
 elif [ "${ExtensioN}" = "bz2" ]; then
-    if ! tar -jxf "${FileName}"; then
-        echo "error: Unpacking ${FileName} failed" >&2
-        exit 1
-    fi
+	if ! tar -jxf "${FileName}"; then
+		echo "error: Unpacking ${FileName} failed" >&2
+		exit 1
+	fi
 else
-    echo "error: Unable to unpack ${FileName}" >&2
-    exit 1
+	echo "error: Unable to unpack ${FileName}" >&2
+	exit 1
 fi
 
+# Save the sum
+echo "${MD5SumLoc}" > "${DirectorY}/.MD5SumLoc"
+
 # Move
 if [ ! -d "${DirectorY}" ]; then
-    echo "error: Can't find ${DirectorY} to rename" >&2
-    exit 1
+	echo "error: Can't find ${DirectorY} to rename" >&2
+	exit 1
 else
-    mv "${DirectorY}" "${OutDir}"
-    touch ${OutDir}/*
+	mv "${DirectorY}" "${OutDir}"
+	cd "${SRCROOT}"; xcodeindex; cd external
 fi
 
 exit 0