Project: copied build dependency script from legacy, added shared libraries to project

This commit is contained in:
osy
2019-04-15 23:47:43 -07:00
parent 6cd269432d
commit fe97cbcd96
10 changed files with 1770 additions and 12 deletions
+482 -12
View File
@@ -9,11 +9,117 @@
/* Begin PBXBuildFile section */
CE2D63D32265154700FC7E63 /* UTMRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2D63CF2265154700FC7E63 /* UTMRenderer.m */; };
CE2D63D42265154700FC7E63 /* UTMShaders.metal in Sources */ = {isa = PBXBuildFile; fileRef = CE2D63D02265154700FC7E63 /* UTMShaders.metal */; };
CE2D641B22653C7600FC7E63 /* libgmodule-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63D822653C7300FC7E63 /* libgmodule-2.0.0.dylib */; };
CE2D641C22653C7600FC7E63 /* libjpeg.62.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63D922653C7300FC7E63 /* libjpeg.62.dylib */; };
CE2D641D22653C7600FC7E63 /* libintl.8.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DA22653C7300FC7E63 /* libintl.8.dylib */; };
CE2D641E22653C7600FC7E63 /* libgstapp-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DB22653C7300FC7E63 /* libgstapp-1.0.0.dylib */; };
CE2D641F22653C7600FC7E63 /* libgthread-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DC22653C7300FC7E63 /* libgthread-2.0.0.dylib */; };
CE2D642022653C7600FC7E63 /* libgstrtp-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DD22653C7400FC7E63 /* libgstrtp-1.0.0.dylib */; };
CE2D642122653C7600FC7E63 /* libgstriff-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DE22653C7400FC7E63 /* libgstriff-1.0.0.dylib */; };
CE2D642222653C7600FC7E63 /* libqemu-system-nios2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63DF22653C7400FC7E63 /* libqemu-system-nios2.dylib */; };
CE2D642322653C7600FC7E63 /* libgstreamer-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E022653C7400FC7E63 /* libgstreamer-1.0.0.dylib */; };
CE2D642422653C7600FC7E63 /* libqemu-system-sh4eb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E122653C7400FC7E63 /* libqemu-system-sh4eb.dylib */; };
CE2D642522653C7600FC7E63 /* libjson-glib-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E222653C7400FC7E63 /* libjson-glib-1.0.0.dylib */; };
CE2D642622653C7600FC7E63 /* libffi.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E322653C7400FC7E63 /* libffi.6.dylib */; };
CE2D642822653C7600FC7E63 /* libgstnet-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E522653C7400FC7E63 /* libgstnet-1.0.0.dylib */; };
CE2D642B22653C7600FC7E63 /* libgstbase-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63E822653C7400FC7E63 /* libgstbase-1.0.0.dylib */; };
CE2D643122653C7600FC7E63 /* libgstcontroller-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63EE22653C7400FC7E63 /* libgstcontroller-1.0.0.dylib */; };
CE2D643222653C7600FC7E63 /* libgstaudio-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63EF22653C7400FC7E63 /* libgstaudio-1.0.0.dylib */; };
CE2D643422653C7600FC7E63 /* libgpg-error.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F122653C7400FC7E63 /* libgpg-error.0.dylib */; };
CE2D643622653C7600FC7E63 /* libgcrypt.20.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F322653C7400FC7E63 /* libgcrypt.20.dylib */; };
CE2D643822653C7600FC7E63 /* libgobject-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F522653C7400FC7E63 /* libgobject-2.0.0.dylib */; };
CE2D643922653C7600FC7E63 /* libgsttag-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F622653C7400FC7E63 /* libgsttag-1.0.0.dylib */; };
CE2D643B22653C7600FC7E63 /* libgio-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F822653C7400FC7E63 /* libgio-2.0.0.dylib */; };
CE2D643C22653C7600FC7E63 /* libgstvideo-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63F922653C7400FC7E63 /* libgstvideo-1.0.0.dylib */; };
CE2D644122653C7600FC7E63 /* libspice-client-glib-2.0.8.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D63FE22653C7500FC7E63 /* libspice-client-glib-2.0.8.dylib */; };
CE2D644422653C7600FC7E63 /* libgstrtsp-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640122653C7500FC7E63 /* libgstrtsp-1.0.0.dylib */; };
CE2D644622653C7600FC7E63 /* libopus.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640322653C7500FC7E63 /* libopus.0.dylib */; };
CE2D644722653C7600FC7E63 /* libglib-2.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640422653C7500FC7E63 /* libglib-2.0.0.dylib */; };
CE2D644822653C7600FC7E63 /* libpng16.16.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640522653C7500FC7E63 /* libpng16.16.dylib */; };
CE2D644C22653C7600FC7E63 /* libgstfft-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640922653C7500FC7E63 /* libgstfft-1.0.0.dylib */; };
CE2D644D22653C7600FC7E63 /* libcrypto.1.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640A22653C7500FC7E63 /* libcrypto.1.1.dylib */; };
CE2D645122653C7600FC7E63 /* libgstpbutils-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D640E22653C7500FC7E63 /* libgstpbutils-1.0.0.dylib */; };
CE2D645322653C7600FC7E63 /* libgstgl-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641022653C7500FC7E63 /* libgstgl-1.0.0.dylib */; };
CE2D645422653C7600FC7E63 /* libgstallocators-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641122653C7500FC7E63 /* libgstallocators-1.0.0.dylib */; };
CE2D645722653C7600FC7E63 /* libgstcheck-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641422653C7500FC7E63 /* libgstcheck-1.0.0.dylib */; };
CE2D645822653C7600FC7E63 /* libiconv.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641522653C7500FC7E63 /* libiconv.2.dylib */; };
CE2D645922653C7600FC7E63 /* libgstsdp-1.0.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641622653C7500FC7E63 /* libgstsdp-1.0.0.dylib */; };
CE2D645A22653C7600FC7E63 /* libssl.1.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641722653C7500FC7E63 /* libssl.1.1.dylib */; };
CE2D645B22653C7600FC7E63 /* libspice-server.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641822653C7500FC7E63 /* libspice-server.1.dylib */; };
CE2D645C22653C7600FC7E63 /* libpixman-1.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2D641922653C7600FC7E63 /* libpixman-1.0.dylib */; };
CE2D645D22653C8400FC7E63 /* libcrypto.1.1.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640A22653C7500FC7E63 /* libcrypto.1.1.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D645E22653C8400FC7E63 /* libffi.6.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E322653C7400FC7E63 /* libffi.6.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D645F22653C8400FC7E63 /* libgcrypt.20.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F322653C7400FC7E63 /* libgcrypt.20.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646022653C8400FC7E63 /* libgio-2.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F822653C7400FC7E63 /* libgio-2.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646122653C8400FC7E63 /* libglib-2.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640422653C7500FC7E63 /* libglib-2.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646222653C8400FC7E63 /* libgmodule-2.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63D822653C7300FC7E63 /* libgmodule-2.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646322653C8400FC7E63 /* libgobject-2.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F522653C7400FC7E63 /* libgobject-2.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646422653C8400FC7E63 /* libgpg-error.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F122653C7400FC7E63 /* libgpg-error.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646522653C8400FC7E63 /* libgstallocators-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641122653C7500FC7E63 /* libgstallocators-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646622653C8400FC7E63 /* libgstapp-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DB22653C7300FC7E63 /* libgstapp-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646722653C8400FC7E63 /* libgstaudio-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63EF22653C7400FC7E63 /* libgstaudio-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646822653C8400FC7E63 /* libgstbase-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E822653C7400FC7E63 /* libgstbase-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646922653C8400FC7E63 /* libgstcheck-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641422653C7500FC7E63 /* libgstcheck-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646A22653C8400FC7E63 /* libgstcontroller-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63EE22653C7400FC7E63 /* libgstcontroller-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646B22653C8400FC7E63 /* libgstfft-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640922653C7500FC7E63 /* libgstfft-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646C22653C8400FC7E63 /* libgstgl-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641022653C7500FC7E63 /* libgstgl-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646D22653C8400FC7E63 /* libgstnet-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E522653C7400FC7E63 /* libgstnet-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646E22653C8400FC7E63 /* libgstpbutils-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640E22653C7500FC7E63 /* libgstpbutils-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D646F22653C8400FC7E63 /* libgstreamer-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E022653C7400FC7E63 /* libgstreamer-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647022653C8400FC7E63 /* libgstriff-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DE22653C7400FC7E63 /* libgstriff-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647122653C8400FC7E63 /* libgstrtp-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DD22653C7400FC7E63 /* libgstrtp-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647222653C8400FC7E63 /* libgstrtsp-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640122653C7500FC7E63 /* libgstrtsp-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647322653C8400FC7E63 /* libgstsdp-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641622653C7500FC7E63 /* libgstsdp-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647422653C8400FC7E63 /* libgsttag-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F622653C7400FC7E63 /* libgsttag-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647522653C8400FC7E63 /* libgstvideo-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F922653C7400FC7E63 /* libgstvideo-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647622653C8400FC7E63 /* libgthread-2.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DC22653C7300FC7E63 /* libgthread-2.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647722653C8400FC7E63 /* libiconv.2.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641522653C7500FC7E63 /* libiconv.2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647822653C8400FC7E63 /* libintl.8.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DA22653C7300FC7E63 /* libintl.8.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647922653C8400FC7E63 /* libjpeg.62.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63D922653C7300FC7E63 /* libjpeg.62.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647A22653C8400FC7E63 /* libjson-glib-1.0.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E222653C7400FC7E63 /* libjson-glib-1.0.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647B22653C8400FC7E63 /* libopus.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640322653C7500FC7E63 /* libopus.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647C22653C8400FC7E63 /* libpixman-1.0.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641922653C7600FC7E63 /* libpixman-1.0.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647D22653C8400FC7E63 /* libpng16.16.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640522653C7500FC7E63 /* libpng16.16.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647E22653C8500FC7E63 /* libqemu-system-aarch64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FD22653C7500FC7E63 /* libqemu-system-aarch64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D647F22653C8500FC7E63 /* libqemu-system-alpha.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641322653C7500FC7E63 /* libqemu-system-alpha.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648022653C8500FC7E63 /* libqemu-system-arm.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640722653C7500FC7E63 /* libqemu-system-arm.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648122653C8500FC7E63 /* libqemu-system-cris.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E622653C7400FC7E63 /* libqemu-system-cris.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648222653C8500FC7E63 /* libqemu-system-hppa.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F222653C7400FC7E63 /* libqemu-system-hppa.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648322653C8500FC7E63 /* libqemu-system-i386.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63D722653C7300FC7E63 /* libqemu-system-i386.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648422653C8500FC7E63 /* libqemu-system-lm32.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E922653C7400FC7E63 /* libqemu-system-lm32.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648522653C8500FC7E63 /* libqemu-system-m68k.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63EB22653C7400FC7E63 /* libqemu-system-m68k.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648622653C8500FC7E63 /* libqemu-system-microblaze.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E422653C7400FC7E63 /* libqemu-system-microblaze.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648722653C8500FC7E63 /* libqemu-system-microblazeel.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F022653C7400FC7E63 /* libqemu-system-microblazeel.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648822653C8500FC7E63 /* libqemu-system-mips.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FF22653C7500FC7E63 /* libqemu-system-mips.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648922653C8500FC7E63 /* libqemu-system-mips64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F422653C7400FC7E63 /* libqemu-system-mips64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648A22653C8500FC7E63 /* libqemu-system-mips64el.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640822653C7500FC7E63 /* libqemu-system-mips64el.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648B22653C8500FC7E63 /* libqemu-system-mipsel.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640622653C7500FC7E63 /* libqemu-system-mipsel.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648C22653C8500FC7E63 /* libqemu-system-moxie.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63EA22653C7400FC7E63 /* libqemu-system-moxie.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648D22653C8500FC7E63 /* libqemu-system-nios2.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63DF22653C7400FC7E63 /* libqemu-system-nios2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648E22653C8500FC7E63 /* libqemu-system-or1k.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640B22653C7500FC7E63 /* libqemu-system-or1k.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D648F22653C8600FC7E63 /* libqemu-system-ppc.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E722653C7400FC7E63 /* libqemu-system-ppc.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649022653C8600FC7E63 /* libqemu-system-ppc64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640C22653C7500FC7E63 /* libqemu-system-ppc64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649122653C8600FC7E63 /* libqemu-system-riscv32.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FA22653C7400FC7E63 /* libqemu-system-riscv32.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649222653C8600FC7E63 /* libqemu-system-riscv64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FB22653C7500FC7E63 /* libqemu-system-riscv64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649322653C8600FC7E63 /* libqemu-system-s390x.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FC22653C7500FC7E63 /* libqemu-system-s390x.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649422653C8600FC7E63 /* libqemu-system-sh4.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640222653C7500FC7E63 /* libqemu-system-sh4.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649522653C8600FC7E63 /* libqemu-system-sh4eb.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63E122653C7400FC7E63 /* libqemu-system-sh4eb.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649622653C8600FC7E63 /* libqemu-system-sparc.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640D22653C7500FC7E63 /* libqemu-system-sparc.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649722653C8600FC7E63 /* libqemu-system-sparc64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640F22653C7500FC7E63 /* libqemu-system-sparc64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649822653C8600FC7E63 /* libqemu-system-tricore.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63EC22653C7400FC7E63 /* libqemu-system-tricore.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649922653C8600FC7E63 /* libqemu-system-unicore32.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63F722653C7400FC7E63 /* libqemu-system-unicore32.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649A22653C8600FC7E63 /* libqemu-system-x86_64.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D640022653C7500FC7E63 /* libqemu-system-x86_64.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649B22653C8700FC7E63 /* libqemu-system-xtensa.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63ED22653C7400FC7E63 /* libqemu-system-xtensa.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649C22653C8700FC7E63 /* libqemu-system-xtensaeb.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641222653C7500FC7E63 /* libqemu-system-xtensaeb.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649D22653C8700FC7E63 /* libspice-client-glib-2.0.8.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D63FE22653C7500FC7E63 /* libspice-client-glib-2.0.8.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649E22653C8700FC7E63 /* libspice-server.1.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641822653C7500FC7E63 /* libspice-server.1.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE2D649F22653C8700FC7E63 /* libssl.1.1.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE2D641722653C7500FC7E63 /* libssl.1.1.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE31C245225E555600A965DD /* UTMConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = CE31C244225E555600A965DD /* UTMConfiguration.m */; };
CE31C24B225EA37400A965DD /* VMConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE31C24A225EA37400A965DD /* VMConfigViewController.m */; };
CE31C24D225EA4A200A965DD /* VMConfigCreateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE31C24C225EA4A200A965DD /* VMConfigCreateViewController.m */; };
CE4AA1492263B24F002E4A54 /* CSDisplayMetal.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4AA1482263B24F002E4A54 /* CSDisplayMetal.m */; };
CE4AA14C2264004F002E4A54 /* CSConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4AA14B2264004F002E4A54 /* CSConnection.m */; };
CE4AA1502265B15B002E4A54 /* libqemu-img.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = CE4AA14E2265B152002E4A54 /* libqemu-img.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
CE550BCE225947990063E575 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE550BCD225947990063E575 /* AppDelegate.m */; };
CE550BD1225947990063E575 /* VMListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE550BD0225947990063E575 /* VMListViewController.m */; };
CE550BD4225947990063E575 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE550BD2225947990063E575 /* Main.storyboard */; };
@@ -32,9 +138,112 @@
CE74C28F225D88ED004E4FF1 /* VMConfigSoundViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74C284225D88ED004E4FF1 /* VMConfigSoundViewController.m */; };
CE74C290225D88ED004E4FF1 /* VMConfigSystemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE74C285225D88ED004E4FF1 /* VMConfigSystemViewController.m */; };
CE7BED4C225FBB8600A1E1B6 /* VMConfigDrivesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7BED4B225FBB8600A1E1B6 /* VMConfigDrivesViewController.m */; };
CE9D18F82265410E00355E14 /* qemu in Resources */ = {isa = PBXBuildFile; fileRef = CE9D18F72265410E00355E14 /* qemu */; };
CE9D19662265425A00355E14 /* libgstautodetect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19522265425900355E14 /* libgstautodetect.a */; };
CE9D19672265425A00355E14 /* libgstaudiotestsrc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19532265425900355E14 /* libgstaudiotestsrc.a */; };
CE9D19682265425A00355E14 /* libgstvideoconvert.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19542265425900355E14 /* libgstvideoconvert.a */; };
CE9D19692265425A00355E14 /* libgstaudioconvert.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19552265425900355E14 /* libgstaudioconvert.a */; };
CE9D196A2265425A00355E14 /* libgstvideoscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19562265425900355E14 /* libgstvideoscale.a */; };
CE9D196B2265425A00355E14 /* libgstvolume.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19572265425900355E14 /* libgstvolume.a */; };
CE9D196C2265425A00355E14 /* libgstcoreelements.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19582265425900355E14 /* libgstcoreelements.a */; };
CE9D196D2265425A00355E14 /* libgstvideorate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19592265425900355E14 /* libgstvideorate.a */; };
CE9D196E2265425A00355E14 /* libgstjpeg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195A2265425900355E14 /* libgstjpeg.a */; };
CE9D196F2265425A00355E14 /* libgstaudioresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195B2265425900355E14 /* libgstaudioresample.a */; };
CE9D19702265425A00355E14 /* libgstplayback.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195C2265425900355E14 /* libgstplayback.a */; };
CE9D19712265425A00355E14 /* libgstadder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195D2265425900355E14 /* libgstadder.a */; };
CE9D19722265425A00355E14 /* libgstopengl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195E2265425900355E14 /* libgstopengl.a */; };
CE9D19732265425A00355E14 /* libgstaudiorate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D195F2265425900355E14 /* libgstaudiorate.a */; };
CE9D19742265425A00355E14 /* libgstvideofilter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19602265425900355E14 /* libgstvideofilter.a */; };
CE9D19752265425A00355E14 /* libgstapp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19612265425900355E14 /* libgstapp.a */; };
CE9D19762265425A00355E14 /* libgstgio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19622265425A00355E14 /* libgstgio.a */; };
CE9D19772265425A00355E14 /* libgsttypefindfunctions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19632265425A00355E14 /* libgsttypefindfunctions.a */; };
CE9D19782265425A00355E14 /* libgstvideotestsrc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19642265425A00355E14 /* libgstvideotestsrc.a */; };
CE9D19792265425A00355E14 /* libgstosxaudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D19652265425A00355E14 /* libgstosxaudio.a */; };
CE9D197C226542FE00355E14 /* UTMQemu.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9D197B226542FE00355E14 /* UTMQemu.m */; };
CEDC1DF22260EE4B008D9A6D /* StaticDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDC1DF12260EE4B008D9A6D /* StaticDataTableViewController.m */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
CE2D64A022653C8700FC7E63 /* Embed Libraries */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
CE2D646422653C8400FC7E63 /* libgpg-error.0.dylib in Embed Libraries */,
CE2D648A22653C8500FC7E63 /* libqemu-system-mips64el.dylib in Embed Libraries */,
CE2D646A22653C8400FC7E63 /* libgstcontroller-1.0.0.dylib in Embed Libraries */,
CE2D646522653C8400FC7E63 /* libgstallocators-1.0.0.dylib in Embed Libraries */,
CE2D646822653C8400FC7E63 /* libgstbase-1.0.0.dylib in Embed Libraries */,
CE2D645E22653C8400FC7E63 /* libffi.6.dylib in Embed Libraries */,
CE2D649F22653C8700FC7E63 /* libssl.1.1.dylib in Embed Libraries */,
CE2D646022653C8400FC7E63 /* libgio-2.0.0.dylib in Embed Libraries */,
CE2D647D22653C8400FC7E63 /* libpng16.16.dylib in Embed Libraries */,
CE2D646D22653C8400FC7E63 /* libgstnet-1.0.0.dylib in Embed Libraries */,
CE2D648122653C8500FC7E63 /* libqemu-system-cris.dylib in Embed Libraries */,
CE2D645D22653C8400FC7E63 /* libcrypto.1.1.dylib in Embed Libraries */,
CE2D649222653C8600FC7E63 /* libqemu-system-riscv64.dylib in Embed Libraries */,
CE2D646622653C8400FC7E63 /* libgstapp-1.0.0.dylib in Embed Libraries */,
CE2D648C22653C8500FC7E63 /* libqemu-system-moxie.dylib in Embed Libraries */,
CE2D648622653C8500FC7E63 /* libqemu-system-microblaze.dylib in Embed Libraries */,
CE2D649422653C8600FC7E63 /* libqemu-system-sh4.dylib in Embed Libraries */,
CE2D646C22653C8400FC7E63 /* libgstgl-1.0.0.dylib in Embed Libraries */,
CE2D647422653C8400FC7E63 /* libgsttag-1.0.0.dylib in Embed Libraries */,
CE2D648E22653C8500FC7E63 /* libqemu-system-or1k.dylib in Embed Libraries */,
CE2D647122653C8400FC7E63 /* libgstrtp-1.0.0.dylib in Embed Libraries */,
CE2D647022653C8400FC7E63 /* libgstriff-1.0.0.dylib in Embed Libraries */,
CE2D648F22653C8600FC7E63 /* libqemu-system-ppc.dylib in Embed Libraries */,
CE2D647622653C8400FC7E63 /* libgthread-2.0.0.dylib in Embed Libraries */,
CE2D647E22653C8500FC7E63 /* libqemu-system-aarch64.dylib in Embed Libraries */,
CE2D648822653C8500FC7E63 /* libqemu-system-mips.dylib in Embed Libraries */,
CE2D649322653C8600FC7E63 /* libqemu-system-s390x.dylib in Embed Libraries */,
CE2D646322653C8400FC7E63 /* libgobject-2.0.0.dylib in Embed Libraries */,
CE2D646222653C8400FC7E63 /* libgmodule-2.0.0.dylib in Embed Libraries */,
CE2D649822653C8600FC7E63 /* libqemu-system-tricore.dylib in Embed Libraries */,
CE2D649722653C8600FC7E63 /* libqemu-system-sparc64.dylib in Embed Libraries */,
CE2D649122653C8600FC7E63 /* libqemu-system-riscv32.dylib in Embed Libraries */,
CE2D648922653C8500FC7E63 /* libqemu-system-mips64.dylib in Embed Libraries */,
CE2D648522653C8500FC7E63 /* libqemu-system-m68k.dylib in Embed Libraries */,
CE2D649622653C8600FC7E63 /* libqemu-system-sparc.dylib in Embed Libraries */,
CE2D649022653C8600FC7E63 /* libqemu-system-ppc64.dylib in Embed Libraries */,
CE2D647F22653C8500FC7E63 /* libqemu-system-alpha.dylib in Embed Libraries */,
CE2D649522653C8600FC7E63 /* libqemu-system-sh4eb.dylib in Embed Libraries */,
CE2D646122653C8400FC7E63 /* libglib-2.0.0.dylib in Embed Libraries */,
CE2D649A22653C8600FC7E63 /* libqemu-system-x86_64.dylib in Embed Libraries */,
CE2D649C22653C8700FC7E63 /* libqemu-system-xtensaeb.dylib in Embed Libraries */,
CE2D648022653C8500FC7E63 /* libqemu-system-arm.dylib in Embed Libraries */,
CE2D647822653C8400FC7E63 /* libintl.8.dylib in Embed Libraries */,
CE2D646F22653C8400FC7E63 /* libgstreamer-1.0.0.dylib in Embed Libraries */,
CE2D647522653C8400FC7E63 /* libgstvideo-1.0.0.dylib in Embed Libraries */,
CE2D647A22653C8400FC7E63 /* libjson-glib-1.0.0.dylib in Embed Libraries */,
CE2D647C22653C8400FC7E63 /* libpixman-1.0.dylib in Embed Libraries */,
CE2D647922653C8400FC7E63 /* libjpeg.62.dylib in Embed Libraries */,
CE2D648722653C8500FC7E63 /* libqemu-system-microblazeel.dylib in Embed Libraries */,
CE2D648222653C8500FC7E63 /* libqemu-system-hppa.dylib in Embed Libraries */,
CE2D648322653C8500FC7E63 /* libqemu-system-i386.dylib in Embed Libraries */,
CE2D649D22653C8700FC7E63 /* libspice-client-glib-2.0.8.dylib in Embed Libraries */,
CE2D647B22653C8400FC7E63 /* libopus.0.dylib in Embed Libraries */,
CE2D648422653C8500FC7E63 /* libqemu-system-lm32.dylib in Embed Libraries */,
CE2D647322653C8400FC7E63 /* libgstsdp-1.0.0.dylib in Embed Libraries */,
CE2D648D22653C8500FC7E63 /* libqemu-system-nios2.dylib in Embed Libraries */,
CE4AA1502265B15B002E4A54 /* libqemu-img.dylib in Embed Libraries */,
CE2D646722653C8400FC7E63 /* libgstaudio-1.0.0.dylib in Embed Libraries */,
CE2D646922653C8400FC7E63 /* libgstcheck-1.0.0.dylib in Embed Libraries */,
CE2D649B22653C8700FC7E63 /* libqemu-system-xtensa.dylib in Embed Libraries */,
CE2D647722653C8400FC7E63 /* libiconv.2.dylib in Embed Libraries */,
CE2D648B22653C8500FC7E63 /* libqemu-system-mipsel.dylib in Embed Libraries */,
CE2D647222653C8400FC7E63 /* libgstrtsp-1.0.0.dylib in Embed Libraries */,
CE2D649E22653C8700FC7E63 /* libspice-server.1.dylib in Embed Libraries */,
CE2D649922653C8600FC7E63 /* libqemu-system-unicore32.dylib in Embed Libraries */,
CE2D645F22653C8400FC7E63 /* libgcrypt.20.dylib in Embed Libraries */,
CE2D646B22653C8400FC7E63 /* libgstfft-1.0.0.dylib in Embed Libraries */,
CE2D646E22653C8400FC7E63 /* libgstpbutils-1.0.0.dylib in Embed Libraries */,
);
name = "Embed Libraries";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
CE2B89332262A21E00C6D9D8 /* UTMVirtualMachine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UTMVirtualMachine.h; sourceTree = "<group>"; };
CE2B89352262B2F600C6D9D8 /* UTMVirtualMachineDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UTMVirtualMachineDelegate.h; sourceTree = "<group>"; };
@@ -43,6 +252,73 @@
CE2D63D12265154700FC7E63 /* UTMShaderTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UTMShaderTypes.h; sourceTree = "<group>"; };
CE2D63D22265154700FC7E63 /* UTMRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UTMRenderer.h; sourceTree = "<group>"; };
CE2D63D5226517D600FC7E63 /* UTMRendererDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UTMRendererDelegate.h; sourceTree = "<group>"; };
CE2D63D722653C7300FC7E63 /* libqemu-system-i386.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-i386.dylib"; path = "sysroot/lib/libqemu-system-i386.dylib"; sourceTree = "<group>"; };
CE2D63D822653C7300FC7E63 /* libgmodule-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgmodule-2.0.0.dylib"; path = "sysroot/lib/libgmodule-2.0.0.dylib"; sourceTree = "<group>"; };
CE2D63D922653C7300FC7E63 /* libjpeg.62.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libjpeg.62.dylib; path = sysroot/lib/libjpeg.62.dylib; sourceTree = "<group>"; };
CE2D63DA22653C7300FC7E63 /* libintl.8.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libintl.8.dylib; path = sysroot/lib/libintl.8.dylib; sourceTree = "<group>"; };
CE2D63DB22653C7300FC7E63 /* libgstapp-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstapp-1.0.0.dylib"; path = "sysroot/lib/libgstapp-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63DC22653C7300FC7E63 /* libgthread-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgthread-2.0.0.dylib"; path = "sysroot/lib/libgthread-2.0.0.dylib"; sourceTree = "<group>"; };
CE2D63DD22653C7400FC7E63 /* libgstrtp-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstrtp-1.0.0.dylib"; path = "sysroot/lib/libgstrtp-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63DE22653C7400FC7E63 /* libgstriff-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstriff-1.0.0.dylib"; path = "sysroot/lib/libgstriff-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63DF22653C7400FC7E63 /* libqemu-system-nios2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-nios2.dylib"; path = "sysroot/lib/libqemu-system-nios2.dylib"; sourceTree = "<group>"; };
CE2D63E022653C7400FC7E63 /* libgstreamer-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstreamer-1.0.0.dylib"; path = "sysroot/lib/libgstreamer-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63E122653C7400FC7E63 /* libqemu-system-sh4eb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-sh4eb.dylib"; path = "sysroot/lib/libqemu-system-sh4eb.dylib"; sourceTree = "<group>"; };
CE2D63E222653C7400FC7E63 /* libjson-glib-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libjson-glib-1.0.0.dylib"; path = "sysroot/lib/libjson-glib-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63E322653C7400FC7E63 /* libffi.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libffi.6.dylib; path = sysroot/lib/libffi.6.dylib; sourceTree = "<group>"; };
CE2D63E422653C7400FC7E63 /* libqemu-system-microblaze.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-microblaze.dylib"; path = "sysroot/lib/libqemu-system-microblaze.dylib"; sourceTree = "<group>"; };
CE2D63E522653C7400FC7E63 /* libgstnet-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstnet-1.0.0.dylib"; path = "sysroot/lib/libgstnet-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63E622653C7400FC7E63 /* libqemu-system-cris.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-cris.dylib"; path = "sysroot/lib/libqemu-system-cris.dylib"; sourceTree = "<group>"; };
CE2D63E722653C7400FC7E63 /* libqemu-system-ppc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-ppc.dylib"; path = "sysroot/lib/libqemu-system-ppc.dylib"; sourceTree = "<group>"; };
CE2D63E822653C7400FC7E63 /* libgstbase-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstbase-1.0.0.dylib"; path = "sysroot/lib/libgstbase-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63E922653C7400FC7E63 /* libqemu-system-lm32.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-lm32.dylib"; path = "sysroot/lib/libqemu-system-lm32.dylib"; sourceTree = "<group>"; };
CE2D63EA22653C7400FC7E63 /* libqemu-system-moxie.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-moxie.dylib"; path = "sysroot/lib/libqemu-system-moxie.dylib"; sourceTree = "<group>"; };
CE2D63EB22653C7400FC7E63 /* libqemu-system-m68k.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-m68k.dylib"; path = "sysroot/lib/libqemu-system-m68k.dylib"; sourceTree = "<group>"; };
CE2D63EC22653C7400FC7E63 /* libqemu-system-tricore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-tricore.dylib"; path = "sysroot/lib/libqemu-system-tricore.dylib"; sourceTree = "<group>"; };
CE2D63ED22653C7400FC7E63 /* libqemu-system-xtensa.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-xtensa.dylib"; path = "sysroot/lib/libqemu-system-xtensa.dylib"; sourceTree = "<group>"; };
CE2D63EE22653C7400FC7E63 /* libgstcontroller-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstcontroller-1.0.0.dylib"; path = "sysroot/lib/libgstcontroller-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63EF22653C7400FC7E63 /* libgstaudio-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstaudio-1.0.0.dylib"; path = "sysroot/lib/libgstaudio-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63F022653C7400FC7E63 /* libqemu-system-microblazeel.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-microblazeel.dylib"; path = "sysroot/lib/libqemu-system-microblazeel.dylib"; sourceTree = "<group>"; };
CE2D63F122653C7400FC7E63 /* libgpg-error.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgpg-error.0.dylib"; path = "sysroot/lib/libgpg-error.0.dylib"; sourceTree = "<group>"; };
CE2D63F222653C7400FC7E63 /* libqemu-system-hppa.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-hppa.dylib"; path = "sysroot/lib/libqemu-system-hppa.dylib"; sourceTree = "<group>"; };
CE2D63F322653C7400FC7E63 /* libgcrypt.20.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libgcrypt.20.dylib; path = sysroot/lib/libgcrypt.20.dylib; sourceTree = "<group>"; };
CE2D63F422653C7400FC7E63 /* libqemu-system-mips64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-mips64.dylib"; path = "sysroot/lib/libqemu-system-mips64.dylib"; sourceTree = "<group>"; };
CE2D63F522653C7400FC7E63 /* libgobject-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgobject-2.0.0.dylib"; path = "sysroot/lib/libgobject-2.0.0.dylib"; sourceTree = "<group>"; };
CE2D63F622653C7400FC7E63 /* libgsttag-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgsttag-1.0.0.dylib"; path = "sysroot/lib/libgsttag-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63F722653C7400FC7E63 /* libqemu-system-unicore32.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-unicore32.dylib"; path = "sysroot/lib/libqemu-system-unicore32.dylib"; sourceTree = "<group>"; };
CE2D63F822653C7400FC7E63 /* libgio-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgio-2.0.0.dylib"; path = "sysroot/lib/libgio-2.0.0.dylib"; sourceTree = "<group>"; };
CE2D63F922653C7400FC7E63 /* libgstvideo-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstvideo-1.0.0.dylib"; path = "sysroot/lib/libgstvideo-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D63FA22653C7400FC7E63 /* libqemu-system-riscv32.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-riscv32.dylib"; path = "sysroot/lib/libqemu-system-riscv32.dylib"; sourceTree = "<group>"; };
CE2D63FB22653C7500FC7E63 /* libqemu-system-riscv64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-riscv64.dylib"; path = "sysroot/lib/libqemu-system-riscv64.dylib"; sourceTree = "<group>"; };
CE2D63FC22653C7500FC7E63 /* libqemu-system-s390x.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-s390x.dylib"; path = "sysroot/lib/libqemu-system-s390x.dylib"; sourceTree = "<group>"; };
CE2D63FD22653C7500FC7E63 /* libqemu-system-aarch64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-aarch64.dylib"; path = "sysroot/lib/libqemu-system-aarch64.dylib"; sourceTree = "<group>"; };
CE2D63FE22653C7500FC7E63 /* libspice-client-glib-2.0.8.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libspice-client-glib-2.0.8.dylib"; path = "sysroot/lib/libspice-client-glib-2.0.8.dylib"; sourceTree = "<group>"; };
CE2D63FF22653C7500FC7E63 /* libqemu-system-mips.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-mips.dylib"; path = "sysroot/lib/libqemu-system-mips.dylib"; sourceTree = "<group>"; };
CE2D640022653C7500FC7E63 /* libqemu-system-x86_64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-x86_64.dylib"; path = "sysroot/lib/libqemu-system-x86_64.dylib"; sourceTree = "<group>"; };
CE2D640122653C7500FC7E63 /* libgstrtsp-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstrtsp-1.0.0.dylib"; path = "sysroot/lib/libgstrtsp-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D640222653C7500FC7E63 /* libqemu-system-sh4.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-sh4.dylib"; path = "sysroot/lib/libqemu-system-sh4.dylib"; sourceTree = "<group>"; };
CE2D640322653C7500FC7E63 /* libopus.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopus.0.dylib; path = sysroot/lib/libopus.0.dylib; sourceTree = "<group>"; };
CE2D640422653C7500FC7E63 /* libglib-2.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libglib-2.0.0.dylib"; path = "sysroot/lib/libglib-2.0.0.dylib"; sourceTree = "<group>"; };
CE2D640522653C7500FC7E63 /* libpng16.16.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpng16.16.dylib; path = sysroot/lib/libpng16.16.dylib; sourceTree = "<group>"; };
CE2D640622653C7500FC7E63 /* libqemu-system-mipsel.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-mipsel.dylib"; path = "sysroot/lib/libqemu-system-mipsel.dylib"; sourceTree = "<group>"; };
CE2D640722653C7500FC7E63 /* libqemu-system-arm.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-arm.dylib"; path = "sysroot/lib/libqemu-system-arm.dylib"; sourceTree = "<group>"; };
CE2D640822653C7500FC7E63 /* libqemu-system-mips64el.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-mips64el.dylib"; path = "sysroot/lib/libqemu-system-mips64el.dylib"; sourceTree = "<group>"; };
CE2D640922653C7500FC7E63 /* libgstfft-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstfft-1.0.0.dylib"; path = "sysroot/lib/libgstfft-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D640A22653C7500FC7E63 /* libcrypto.1.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.1.1.dylib; path = sysroot/lib/libcrypto.1.1.dylib; sourceTree = "<group>"; };
CE2D640B22653C7500FC7E63 /* libqemu-system-or1k.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-or1k.dylib"; path = "sysroot/lib/libqemu-system-or1k.dylib"; sourceTree = "<group>"; };
CE2D640C22653C7500FC7E63 /* libqemu-system-ppc64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-ppc64.dylib"; path = "sysroot/lib/libqemu-system-ppc64.dylib"; sourceTree = "<group>"; };
CE2D640D22653C7500FC7E63 /* libqemu-system-sparc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-sparc.dylib"; path = "sysroot/lib/libqemu-system-sparc.dylib"; sourceTree = "<group>"; };
CE2D640E22653C7500FC7E63 /* libgstpbutils-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstpbutils-1.0.0.dylib"; path = "sysroot/lib/libgstpbutils-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D640F22653C7500FC7E63 /* libqemu-system-sparc64.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-sparc64.dylib"; path = "sysroot/lib/libqemu-system-sparc64.dylib"; sourceTree = "<group>"; };
CE2D641022653C7500FC7E63 /* libgstgl-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstgl-1.0.0.dylib"; path = "sysroot/lib/libgstgl-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D641122653C7500FC7E63 /* libgstallocators-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstallocators-1.0.0.dylib"; path = "sysroot/lib/libgstallocators-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D641222653C7500FC7E63 /* libqemu-system-xtensaeb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-xtensaeb.dylib"; path = "sysroot/lib/libqemu-system-xtensaeb.dylib"; sourceTree = "<group>"; };
CE2D641322653C7500FC7E63 /* libqemu-system-alpha.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-system-alpha.dylib"; path = "sysroot/lib/libqemu-system-alpha.dylib"; sourceTree = "<group>"; };
CE2D641422653C7500FC7E63 /* libgstcheck-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstcheck-1.0.0.dylib"; path = "sysroot/lib/libgstcheck-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D641522653C7500FC7E63 /* libiconv.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.2.dylib; path = sysroot/lib/libiconv.2.dylib; sourceTree = "<group>"; };
CE2D641622653C7500FC7E63 /* libgstsdp-1.0.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libgstsdp-1.0.0.dylib"; path = "sysroot/lib/libgstsdp-1.0.0.dylib"; sourceTree = "<group>"; };
CE2D641722653C7500FC7E63 /* libssl.1.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libssl.1.1.dylib; path = sysroot/lib/libssl.1.1.dylib; sourceTree = "<group>"; };
CE2D641822653C7500FC7E63 /* libspice-server.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libspice-server.1.dylib"; path = "sysroot/lib/libspice-server.1.dylib"; sourceTree = "<group>"; };
CE2D641922653C7600FC7E63 /* libpixman-1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libpixman-1.0.dylib"; path = "sysroot/lib/libpixman-1.0.dylib"; sourceTree = "<group>"; };
CE31C243225E553500A965DD /* UTMConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UTMConfiguration.h; sourceTree = "<group>"; };
CE31C244225E555600A965DD /* UTMConfiguration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UTMConfiguration.m; sourceTree = "<group>"; };
CE31C246225E9FED00A965DD /* UTMConfigurationDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UTMConfigurationDelegate.h; sourceTree = "<group>"; };
@@ -54,6 +330,7 @@
CE4AA14A2264004F002E4A54 /* CSConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CSConnection.h; sourceTree = "<group>"; };
CE4AA14B2264004F002E4A54 /* CSConnection.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CSConnection.m; sourceTree = "<group>"; };
CE4AA14D22642EB4002E4A54 /* CSConnectionDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CSConnectionDelegate.h; sourceTree = "<group>"; };
CE4AA14E2265B152002E4A54 /* libqemu-img.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libqemu-img.dylib"; path = "sysroot/lib/libqemu-img.dylib"; sourceTree = "<group>"; };
CE550BC9225947990063E575 /* UTM.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UTM.app; sourceTree = BUILT_PRODUCTS_DIR; };
CE550BCC225947990063E575 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
CE550BCD225947990063E575 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -88,6 +365,29 @@
CE74C287225D88ED004E4FF1 /* VMConfigDriveDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMConfigDriveDetailViewController.h; sourceTree = "<group>"; };
CE7BED4A225FBB8600A1E1B6 /* VMConfigDrivesViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VMConfigDrivesViewController.h; sourceTree = "<group>"; };
CE7BED4B225FBB8600A1E1B6 /* VMConfigDrivesViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VMConfigDrivesViewController.m; sourceTree = "<group>"; };
CE9D18F72265410E00355E14 /* qemu */ = {isa = PBXFileReference; lastKnownFileType = folder; name = qemu; path = sysroot/share/qemu; sourceTree = "<group>"; };
CE9D19522265425900355E14 /* libgstautodetect.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstautodetect.a; path = "sysroot/lib/gstreamer-1.0/libgstautodetect.a"; sourceTree = "<group>"; };
CE9D19532265425900355E14 /* libgstaudiotestsrc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstaudiotestsrc.a; path = "sysroot/lib/gstreamer-1.0/libgstaudiotestsrc.a"; sourceTree = "<group>"; };
CE9D19542265425900355E14 /* libgstvideoconvert.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvideoconvert.a; path = "sysroot/lib/gstreamer-1.0/libgstvideoconvert.a"; sourceTree = "<group>"; };
CE9D19552265425900355E14 /* libgstaudioconvert.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstaudioconvert.a; path = "sysroot/lib/gstreamer-1.0/libgstaudioconvert.a"; sourceTree = "<group>"; };
CE9D19562265425900355E14 /* libgstvideoscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvideoscale.a; path = "sysroot/lib/gstreamer-1.0/libgstvideoscale.a"; sourceTree = "<group>"; };
CE9D19572265425900355E14 /* libgstvolume.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvolume.a; path = "sysroot/lib/gstreamer-1.0/libgstvolume.a"; sourceTree = "<group>"; };
CE9D19582265425900355E14 /* libgstcoreelements.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstcoreelements.a; path = "sysroot/lib/gstreamer-1.0/libgstcoreelements.a"; sourceTree = "<group>"; };
CE9D19592265425900355E14 /* libgstvideorate.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvideorate.a; path = "sysroot/lib/gstreamer-1.0/libgstvideorate.a"; sourceTree = "<group>"; };
CE9D195A2265425900355E14 /* libgstjpeg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstjpeg.a; path = "sysroot/lib/gstreamer-1.0/libgstjpeg.a"; sourceTree = "<group>"; };
CE9D195B2265425900355E14 /* libgstaudioresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstaudioresample.a; path = "sysroot/lib/gstreamer-1.0/libgstaudioresample.a"; sourceTree = "<group>"; };
CE9D195C2265425900355E14 /* libgstplayback.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstplayback.a; path = "sysroot/lib/gstreamer-1.0/libgstplayback.a"; sourceTree = "<group>"; };
CE9D195D2265425900355E14 /* libgstadder.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstadder.a; path = "sysroot/lib/gstreamer-1.0/libgstadder.a"; sourceTree = "<group>"; };
CE9D195E2265425900355E14 /* libgstopengl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstopengl.a; path = "sysroot/lib/gstreamer-1.0/libgstopengl.a"; sourceTree = "<group>"; };
CE9D195F2265425900355E14 /* libgstaudiorate.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstaudiorate.a; path = "sysroot/lib/gstreamer-1.0/libgstaudiorate.a"; sourceTree = "<group>"; };
CE9D19602265425900355E14 /* libgstvideofilter.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvideofilter.a; path = "sysroot/lib/gstreamer-1.0/libgstvideofilter.a"; sourceTree = "<group>"; };
CE9D19612265425900355E14 /* libgstapp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstapp.a; path = "sysroot/lib/gstreamer-1.0/libgstapp.a"; sourceTree = "<group>"; };
CE9D19622265425A00355E14 /* libgstgio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstgio.a; path = "sysroot/lib/gstreamer-1.0/libgstgio.a"; sourceTree = "<group>"; };
CE9D19632265425A00355E14 /* libgsttypefindfunctions.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsttypefindfunctions.a; path = "sysroot/lib/gstreamer-1.0/libgsttypefindfunctions.a"; sourceTree = "<group>"; };
CE9D19642265425A00355E14 /* libgstvideotestsrc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstvideotestsrc.a; path = "sysroot/lib/gstreamer-1.0/libgstvideotestsrc.a"; sourceTree = "<group>"; };
CE9D19652265425A00355E14 /* libgstosxaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgstosxaudio.a; path = "sysroot/lib/gstreamer-1.0/libgstosxaudio.a"; sourceTree = "<group>"; };
CE9D197A226542FE00355E14 /* UTMQemu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UTMQemu.h; sourceTree = "<group>"; };
CE9D197B226542FE00355E14 /* UTMQemu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UTMQemu.m; sourceTree = "<group>"; };
CEDC1DF02260EE4B008D9A6D /* StaticDataTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaticDataTableViewController.h; sourceTree = "<group>"; };
CEDC1DF12260EE4B008D9A6D /* StaticDataTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StaticDataTableViewController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -97,6 +397,64 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CE9D19662265425A00355E14 /* libgstautodetect.a in Frameworks */,
CE9D19672265425A00355E14 /* libgstaudiotestsrc.a in Frameworks */,
CE9D19682265425A00355E14 /* libgstvideoconvert.a in Frameworks */,
CE9D19692265425A00355E14 /* libgstaudioconvert.a in Frameworks */,
CE9D196A2265425A00355E14 /* libgstvideoscale.a in Frameworks */,
CE9D196B2265425A00355E14 /* libgstvolume.a in Frameworks */,
CE9D196C2265425A00355E14 /* libgstcoreelements.a in Frameworks */,
CE9D196D2265425A00355E14 /* libgstvideorate.a in Frameworks */,
CE9D196E2265425A00355E14 /* libgstjpeg.a in Frameworks */,
CE9D196F2265425A00355E14 /* libgstaudioresample.a in Frameworks */,
CE9D19702265425A00355E14 /* libgstplayback.a in Frameworks */,
CE9D19712265425A00355E14 /* libgstadder.a in Frameworks */,
CE9D19722265425A00355E14 /* libgstopengl.a in Frameworks */,
CE9D19732265425A00355E14 /* libgstaudiorate.a in Frameworks */,
CE9D19742265425A00355E14 /* libgstvideofilter.a in Frameworks */,
CE9D19752265425A00355E14 /* libgstapp.a in Frameworks */,
CE9D19762265425A00355E14 /* libgstgio.a in Frameworks */,
CE9D19772265425A00355E14 /* libgsttypefindfunctions.a in Frameworks */,
CE9D19782265425A00355E14 /* libgstvideotestsrc.a in Frameworks */,
CE9D19792265425A00355E14 /* libgstosxaudio.a in Frameworks */,
CE2D641B22653C7600FC7E63 /* libgmodule-2.0.0.dylib in Frameworks */,
CE2D641C22653C7600FC7E63 /* libjpeg.62.dylib in Frameworks */,
CE2D641D22653C7600FC7E63 /* libintl.8.dylib in Frameworks */,
CE2D641E22653C7600FC7E63 /* libgstapp-1.0.0.dylib in Frameworks */,
CE2D641F22653C7600FC7E63 /* libgthread-2.0.0.dylib in Frameworks */,
CE2D642022653C7600FC7E63 /* libgstrtp-1.0.0.dylib in Frameworks */,
CE2D642122653C7600FC7E63 /* libgstriff-1.0.0.dylib in Frameworks */,
CE2D642222653C7600FC7E63 /* libqemu-system-nios2.dylib in Frameworks */,
CE2D642322653C7600FC7E63 /* libgstreamer-1.0.0.dylib in Frameworks */,
CE2D642422653C7600FC7E63 /* libqemu-system-sh4eb.dylib in Frameworks */,
CE2D642522653C7600FC7E63 /* libjson-glib-1.0.0.dylib in Frameworks */,
CE2D642622653C7600FC7E63 /* libffi.6.dylib in Frameworks */,
CE2D642822653C7600FC7E63 /* libgstnet-1.0.0.dylib in Frameworks */,
CE2D642B22653C7600FC7E63 /* libgstbase-1.0.0.dylib in Frameworks */,
CE2D643122653C7600FC7E63 /* libgstcontroller-1.0.0.dylib in Frameworks */,
CE2D643222653C7600FC7E63 /* libgstaudio-1.0.0.dylib in Frameworks */,
CE2D643422653C7600FC7E63 /* libgpg-error.0.dylib in Frameworks */,
CE2D643622653C7600FC7E63 /* libgcrypt.20.dylib in Frameworks */,
CE2D643822653C7600FC7E63 /* libgobject-2.0.0.dylib in Frameworks */,
CE2D643922653C7600FC7E63 /* libgsttag-1.0.0.dylib in Frameworks */,
CE2D643B22653C7600FC7E63 /* libgio-2.0.0.dylib in Frameworks */,
CE2D643C22653C7600FC7E63 /* libgstvideo-1.0.0.dylib in Frameworks */,
CE2D644122653C7600FC7E63 /* libspice-client-glib-2.0.8.dylib in Frameworks */,
CE2D644422653C7600FC7E63 /* libgstrtsp-1.0.0.dylib in Frameworks */,
CE2D644622653C7600FC7E63 /* libopus.0.dylib in Frameworks */,
CE2D644722653C7600FC7E63 /* libglib-2.0.0.dylib in Frameworks */,
CE2D644822653C7600FC7E63 /* libpng16.16.dylib in Frameworks */,
CE2D644C22653C7600FC7E63 /* libgstfft-1.0.0.dylib in Frameworks */,
CE2D644D22653C7600FC7E63 /* libcrypto.1.1.dylib in Frameworks */,
CE2D645122653C7600FC7E63 /* libgstpbutils-1.0.0.dylib in Frameworks */,
CE2D645322653C7600FC7E63 /* libgstgl-1.0.0.dylib in Frameworks */,
CE2D645422653C7600FC7E63 /* libgstallocators-1.0.0.dylib in Frameworks */,
CE2D645722653C7600FC7E63 /* libgstcheck-1.0.0.dylib in Frameworks */,
CE2D645822653C7600FC7E63 /* libiconv.2.dylib in Frameworks */,
CE2D645922653C7600FC7E63 /* libgstsdp-1.0.0.dylib in Frameworks */,
CE2D645A22653C7600FC7E63 /* libssl.1.1.dylib in Frameworks */,
CE2D645B22653C7600FC7E63 /* libspice-server.1.dylib in Frameworks */,
CE2D645C22653C7600FC7E63 /* libpixman-1.0.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -115,6 +473,101 @@
path = Renderer;
sourceTree = "<group>";
};
CE2D63D622653C7300FC7E63 /* Frameworks */ = {
isa = PBXGroup;
children = (
CE9D195D2265425900355E14 /* libgstadder.a */,
CE9D19612265425900355E14 /* libgstapp.a */,
CE9D19552265425900355E14 /* libgstaudioconvert.a */,
CE9D195F2265425900355E14 /* libgstaudiorate.a */,
CE9D195B2265425900355E14 /* libgstaudioresample.a */,
CE9D19532265425900355E14 /* libgstaudiotestsrc.a */,
CE9D19522265425900355E14 /* libgstautodetect.a */,
CE9D19582265425900355E14 /* libgstcoreelements.a */,
CE9D19622265425A00355E14 /* libgstgio.a */,
CE9D195A2265425900355E14 /* libgstjpeg.a */,
CE9D195E2265425900355E14 /* libgstopengl.a */,
CE9D19652265425A00355E14 /* libgstosxaudio.a */,
CE9D195C2265425900355E14 /* libgstplayback.a */,
CE9D19632265425A00355E14 /* libgsttypefindfunctions.a */,
CE9D19542265425900355E14 /* libgstvideoconvert.a */,
CE9D19602265425900355E14 /* libgstvideofilter.a */,
CE9D19592265425900355E14 /* libgstvideorate.a */,
CE9D19562265425900355E14 /* libgstvideoscale.a */,
CE9D19642265425A00355E14 /* libgstvideotestsrc.a */,
CE9D19572265425900355E14 /* libgstvolume.a */,
CE2D640A22653C7500FC7E63 /* libcrypto.1.1.dylib */,
CE2D63E322653C7400FC7E63 /* libffi.6.dylib */,
CE2D63F322653C7400FC7E63 /* libgcrypt.20.dylib */,
CE2D63F822653C7400FC7E63 /* libgio-2.0.0.dylib */,
CE2D640422653C7500FC7E63 /* libglib-2.0.0.dylib */,
CE2D63D822653C7300FC7E63 /* libgmodule-2.0.0.dylib */,
CE2D63F522653C7400FC7E63 /* libgobject-2.0.0.dylib */,
CE2D63F122653C7400FC7E63 /* libgpg-error.0.dylib */,
CE2D641122653C7500FC7E63 /* libgstallocators-1.0.0.dylib */,
CE2D63DB22653C7300FC7E63 /* libgstapp-1.0.0.dylib */,
CE2D63EF22653C7400FC7E63 /* libgstaudio-1.0.0.dylib */,
CE2D63E822653C7400FC7E63 /* libgstbase-1.0.0.dylib */,
CE2D641422653C7500FC7E63 /* libgstcheck-1.0.0.dylib */,
CE2D63EE22653C7400FC7E63 /* libgstcontroller-1.0.0.dylib */,
CE2D640922653C7500FC7E63 /* libgstfft-1.0.0.dylib */,
CE2D641022653C7500FC7E63 /* libgstgl-1.0.0.dylib */,
CE2D63E522653C7400FC7E63 /* libgstnet-1.0.0.dylib */,
CE2D640E22653C7500FC7E63 /* libgstpbutils-1.0.0.dylib */,
CE2D63E022653C7400FC7E63 /* libgstreamer-1.0.0.dylib */,
CE2D63DE22653C7400FC7E63 /* libgstriff-1.0.0.dylib */,
CE2D63DD22653C7400FC7E63 /* libgstrtp-1.0.0.dylib */,
CE2D640122653C7500FC7E63 /* libgstrtsp-1.0.0.dylib */,
CE2D641622653C7500FC7E63 /* libgstsdp-1.0.0.dylib */,
CE2D63F622653C7400FC7E63 /* libgsttag-1.0.0.dylib */,
CE2D63F922653C7400FC7E63 /* libgstvideo-1.0.0.dylib */,
CE2D63DC22653C7300FC7E63 /* libgthread-2.0.0.dylib */,
CE2D641522653C7500FC7E63 /* libiconv.2.dylib */,
CE2D63DA22653C7300FC7E63 /* libintl.8.dylib */,
CE2D63D922653C7300FC7E63 /* libjpeg.62.dylib */,
CE2D63E222653C7400FC7E63 /* libjson-glib-1.0.0.dylib */,
CE2D640322653C7500FC7E63 /* libopus.0.dylib */,
CE2D641922653C7600FC7E63 /* libpixman-1.0.dylib */,
CE2D640522653C7500FC7E63 /* libpng16.16.dylib */,
CE4AA14E2265B152002E4A54 /* libqemu-img.dylib */,
CE2D63FD22653C7500FC7E63 /* libqemu-system-aarch64.dylib */,
CE2D641322653C7500FC7E63 /* libqemu-system-alpha.dylib */,
CE2D640722653C7500FC7E63 /* libqemu-system-arm.dylib */,
CE2D63E622653C7400FC7E63 /* libqemu-system-cris.dylib */,
CE2D63F222653C7400FC7E63 /* libqemu-system-hppa.dylib */,
CE2D63D722653C7300FC7E63 /* libqemu-system-i386.dylib */,
CE2D63E922653C7400FC7E63 /* libqemu-system-lm32.dylib */,
CE2D63EB22653C7400FC7E63 /* libqemu-system-m68k.dylib */,
CE2D63E422653C7400FC7E63 /* libqemu-system-microblaze.dylib */,
CE2D63F022653C7400FC7E63 /* libqemu-system-microblazeel.dylib */,
CE2D63FF22653C7500FC7E63 /* libqemu-system-mips.dylib */,
CE2D63F422653C7400FC7E63 /* libqemu-system-mips64.dylib */,
CE2D640822653C7500FC7E63 /* libqemu-system-mips64el.dylib */,
CE2D640622653C7500FC7E63 /* libqemu-system-mipsel.dylib */,
CE2D63EA22653C7400FC7E63 /* libqemu-system-moxie.dylib */,
CE2D63DF22653C7400FC7E63 /* libqemu-system-nios2.dylib */,
CE2D640B22653C7500FC7E63 /* libqemu-system-or1k.dylib */,
CE2D63E722653C7400FC7E63 /* libqemu-system-ppc.dylib */,
CE2D640C22653C7500FC7E63 /* libqemu-system-ppc64.dylib */,
CE2D63FA22653C7400FC7E63 /* libqemu-system-riscv32.dylib */,
CE2D63FB22653C7500FC7E63 /* libqemu-system-riscv64.dylib */,
CE2D63FC22653C7500FC7E63 /* libqemu-system-s390x.dylib */,
CE2D640222653C7500FC7E63 /* libqemu-system-sh4.dylib */,
CE2D63E122653C7400FC7E63 /* libqemu-system-sh4eb.dylib */,
CE2D640D22653C7500FC7E63 /* libqemu-system-sparc.dylib */,
CE2D640F22653C7500FC7E63 /* libqemu-system-sparc64.dylib */,
CE2D63EC22653C7400FC7E63 /* libqemu-system-tricore.dylib */,
CE2D63F722653C7400FC7E63 /* libqemu-system-unicore32.dylib */,
CE2D640022653C7500FC7E63 /* libqemu-system-x86_64.dylib */,
CE2D63ED22653C7400FC7E63 /* libqemu-system-xtensa.dylib */,
CE2D641222653C7500FC7E63 /* libqemu-system-xtensaeb.dylib */,
CE2D63FE22653C7500FC7E63 /* libspice-client-glib-2.0.8.dylib */,
CE2D641822653C7500FC7E63 /* libspice-server.1.dylib */,
CE2D641722653C7500FC7E63 /* libssl.1.1.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
};
CE31C242225E543A00A965DD /* Configuration */ = {
isa = PBXGroup;
children = (
@@ -147,7 +600,9 @@
CE2D63CE2265150F00FC7E63 /* Renderer */,
CE7BED4D22600F5000A1E1B6 /* Views */,
CE550BCB225947990063E575 /* UTM */,
CE9D18F72265410E00355E14 /* qemu */,
CE550BCA225947990063E575 /* Products */,
CE2D63D622653C7300FC7E63 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -208,6 +663,8 @@
CE5F1659226138AB00F3D56B /* Managers */ = {
isa = PBXGroup;
children = (
CE9D197A226542FE00355E14 /* UTMQemu.h */,
CE9D197B226542FE00355E14 /* UTMQemu.m */,
CE2B89352262B2F600C6D9D8 /* UTMVirtualMachineDelegate.h */,
CE2B89332262A21E00C6D9D8 /* UTMVirtualMachine.h */,
CE5F165B2261395000F3D56B /* UTMVirtualMachine.m */,
@@ -245,6 +702,7 @@
CE550BC5225947990063E575 /* Sources */,
CE550BC6225947990063E575 /* Frameworks */,
CE550BC7225947990063E575 /* Resources */,
CE2D64A022653C8700FC7E63 /* Embed Libraries */,
);
buildRules = (
);
@@ -292,6 +750,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CE9D18F82265410E00355E14 /* qemu in Resources */,
CE550BD92259479D0063E575 /* LaunchScreen.storyboard in Resources */,
CE550BD62259479D0063E575 /* Assets.xcassets in Resources */,
CE550BD4225947990063E575 /* Main.storyboard in Resources */,
@@ -307,6 +766,7 @@
files = (
CE550BD1225947990063E575 /* VMListViewController.m in Sources */,
CE31C24D225EA4A200A965DD /* VMConfigCreateViewController.m in Sources */,
CE9D197C226542FE00355E14 /* UTMQemu.m in Sources */,
CE74C288225D88ED004E4FF1 /* VMConfigNetworkingViewController.m in Sources */,
CE74C28E225D88ED004E4FF1 /* VMConfigSharingViewController.m in Sources */,
CE74C28F225D88ED004E4FF1 /* VMConfigSoundViewController.m in Sources */,
@@ -471,13 +931,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/build/sysroot/include",
"$(PROJECT_DIR)/build/sysroot/include/gstreamer-1.0",
"$(PROJECT_DIR)/build/sysroot/include/glib-2.0",
"$(PROJECT_DIR)/build/sysroot/lib/glib-2.0/include",
"$(PROJECT_DIR)/build/sysroot/include/spice-client-glib-2.0",
"$(PROJECT_DIR)/build/sysroot/include/spice-1",
"$(PROJECT_DIR)/sysroot/include",
"$(PROJECT_DIR)/sysroot/include/gstreamer-1.0",
"$(PROJECT_DIR)/sysroot/include/glib-2.0",
"$(PROJECT_DIR)/sysroot/lib/glib-2.0/include",
"$(PROJECT_DIR)/sysroot/include/spice-client-glib-2.0",
"$(PROJECT_DIR)/sysroot/include/spice-1",
);
INFOPLIST_FILE = UTM/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
@@ -485,6 +946,10 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/sysroot/lib",
"$(PROJECT_DIR)/sysroot/lib/gstreamer-1.0",
);
PRODUCT_BUNDLE_IDENTIFIER = com.halts.UTM;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
@@ -497,13 +962,14 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/build/sysroot/include",
"$(PROJECT_DIR)/build/sysroot/include/gstreamer-1.0",
"$(PROJECT_DIR)/build/sysroot/include/glib-2.0",
"$(PROJECT_DIR)/build/sysroot/lib/glib-2.0/include",
"$(PROJECT_DIR)/build/sysroot/include/spice-client-glib-2.0",
"$(PROJECT_DIR)/build/sysroot/include/spice-1",
"$(PROJECT_DIR)/sysroot/include",
"$(PROJECT_DIR)/sysroot/include/gstreamer-1.0",
"$(PROJECT_DIR)/sysroot/include/glib-2.0",
"$(PROJECT_DIR)/sysroot/lib/glib-2.0/include",
"$(PROJECT_DIR)/sysroot/include/spice-client-glib-2.0",
"$(PROJECT_DIR)/sysroot/include/spice-1",
);
INFOPLIST_FILE = UTM/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
@@ -511,6 +977,10 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/sysroot/lib",
"$(PROJECT_DIR)/sysroot/lib/gstreamer-1.0",
);
PRODUCT_BUNDLE_IDENTIFIER = com.halts.UTM;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
+366
View File
@@ -0,0 +1,366 @@
#!/bin/sh
# Based off of https://github.com/szanni/ios-autotools/blob/master/iconfigure
# Copyright (c) 2014, Angelo Haller
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
set -e
# Source files for qemu
FFI_SRC="https://sourceware.org/ftp/libffi/libffi-3.2.1.tar.gz"
ICONV_SRC="https://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz"
GETTEXT_SRC="https://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.gz"
PNG_SRC="https://ftp.osuosl.org/pub/blfs/conglomeration/libpng/libpng-1.6.36.tar.xz"
JPEG_TURBO_SRC="https://ftp.osuosl.org/pub/blfs/conglomeration/libjpeg-turbo/libjpeg-turbo-1.5.3.tar.gz"
GLIB_SRC="ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.55/glib-2.55.2.tar.xz"
GPG_ERROR_SRC="https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.gz"
GCRYPT_SRC="https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.gz"
PIXMAN_SRC="https://www.cairographics.org/releases/pixman-0.38.0.tar.gz"
OPENSSL_SRC="https://www.openssl.org/source/openssl-1.1.1b.tar.gz"
OPUS_SRC="https://archive.mozilla.org/pub/opus/opus-1.3.tar.gz"
SPICE_PROTOCOL_SRC="https://www.spice-space.org/download/releases/spice-protocol-0.12.15.tar.bz2"
SPICE_SERVER_SRC="https://www.spice-space.org/download/releases/spice-server/spice-0.14.1.tar.bz2"
NCURSES_SRC="https://invisible-mirror.net/archives/ncurses/ncurses-6.1.tar.gz"
QEMU_GIT="https://github.com/halts/qemu.git"
# Source files for spice-client
JSON_GLIB_SRC="https://ftp.gnome.org/pub/GNOME/sources/json-glib/1.2/json-glib-1.2.8.tar.xz"
GST_SRC="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.15.2.tar.xz"
GST_BASE_SRC="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.15.2.tar.xz"
GST_GOOD_SRC="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.15.2.tar.xz"
SPICE_CLIENT_SRC="https://www.spice-space.org/download/gtk/spice-gtk-0.36.tar.bz2"
# Directories
BUILD_DIR="build"
PATCHES_DIR="patches"
SYSROOT_DIR="sysroot"
# Printing coloured lines
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
# Build environment
ARCH=$1
CHOST=
SDK=
SDKMINVER="8.0"
NCPU=$(sysctl -n hw.ncpu)
command -v realpath >/dev/null 2>&1 || realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}
[ -d "$SYSROOT_DIR" ] || mkdir -p "$SYSROOT_DIR"
PREFIX="$(realpath "$SYSROOT_DIR")"
usage () {
echo "Usage: [VARIABLE...] $(basename $0) [architecture]"
echo ""
echo " architecture Target architecture. Default arm64. [armv7|armv7s|arm64|i386|x86_64]"
echo ""
echo " VARIABLEs are:"
echo " SDKVERSION Target a specific SDK version."
echo " CHOST Configure host, set if not deducable by ARCH."
echo " SDK SDK target, set if not deducable by ARCH. [iphoneos|iphonesimulator]"
echo ""
echo " CFLAGS CPPFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH"
echo ""
exit 1
}
check_env () {
command -v pkg-config >/dev/null 2>&1 || { echo >&2 "${RED}You must install 'pkg-config' on your host machine.${NC}"; exit 1; }
command -v msgfmt >/dev/null 2>&1 || { echo >&2 "${RED}You must install 'gettext' on your host machine.\n\t'msgfmt' needs to be in your \$PATH as well.${NC}"; exit 1; }
command -v glib-mkenums >/dev/null 2>&1 || { echo >&2 "${RED}You must install 'glib' on your host machine.\n\t'glib-mkenums' needs to be in your \$PATH as well.${NC}"; exit 1; }
command -v xcrun >/dev/null 2>&1 || { echo >&2 "${RED}'xcrun' is not found. Make sure you are running on OSX."; exit 1; }
command -v otool >/dev/null 2>&1 || { echo >&2 "${RED}'otool' is not found. Make sure you are running on OSX."; exit 1; }
command -v install_name_tool >/dev/null 2>&1 || { echo >&2 "${RED}'install_name_tool' is not found. Make sure you are running on OSX."; exit 1; }
# TODO: check bison version >= 2.4
}
download () {
URL=$1
FILE="$(basename $URL)"
NAME="${FILE%.tar.*}"
TARGET="$BUILD_DIR/$FILE"
DIR="$BUILD_DIR/$NAME"
PATCH="$PATCHES_DIR/${NAME}.patch"
if [ -f "$TARGET" ]; then
echo "${GREEN}$TARGET already downloaded! Delete it to re-download.${NC}"
else
echo "${GREEN}Downloading ${URL}...${NC}"
curl -L -O "$URL"
mv "$FILE" "$TARGET"
fi
echo "${GREEN}Unpacking ${NAME}...${NC}"
tar -xf "$TARGET" -C "$BUILD_DIR"
if [ -f "$PATCH" ]; then
echo "${GREEN}Patching ${NAME}...${NC}"
patch -d "$DIR" -p1 < "$PATCH"
fi
}
download_all () {
[ -d "$BUILD_DIR" ] || mkdir -p "$BUILD_DIR"
download $FFI_SRC
download $ICONV_SRC
download $GETTEXT_SRC
download $PNG_SRC
download $JPEG_TURBO_SRC
download $GLIB_SRC
download $GPG_ERROR_SRC
download $GCRYPT_SRC
download $PIXMAN_SRC
download $OPENSSL_SRC
download $OPUS_SRC
download $SPICE_PROTOCOL_SRC
download $SPICE_SERVER_SRC
download $NCURSES_SRC
download $JSON_GLIB_SRC
download $GST_SRC
download $GST_BASE_SRC
download $GST_GOOD_SRC
download $SPICE_CLIENT_SRC
}
build_openssl() {
URL=$1
shift 1
FILE="$(basename $URL)"
NAME="${FILE%.tar.*}"
DIR="$BUILD_DIR/$NAME"
pwd="$(pwd)"
TOOLCHAIN_PATH="$(dirname $(xcrun --sdk $SDK -find clang))"
PATH="$PATH:$TOOLCHAIN_PATH"
CROSS_TOP="$(xcrun --sdk $SDK --show-sdk-platform-path)/Developer" # for openssl
CROSS_SDK="$SDKNAME.$SDKVERSION.sdk" # for openssl
export CROSS_TOP
export CROSS_SDK
export PATH
case $ARCH in
armv7 | armv7s )
OPENSSL_CROSS=iphoneos-cross
;;
arm64 )
OPENSSL_CROSS=ios64-cross
;;
i386 )
OPENSSL_CROSS=darwin-i386-cc
;;
x86_64 )
OPENSSL_CROSS=darwin64-x86_64-cc
;;
esac
cd "$DIR"
echo "${GREEN}Configuring ${NAME}...${NC}"
./Configure $OPENSSL_CROSS no-dso no-hw no-engine --prefix="$PREFIX" $@
echo "${GREEN}Building ${NAME}...${NC}"
make "$MAKEFLAGS"
echo "${GREEN}Installing ${NAME}...${NC}"
make "$MAKEFLAGS" install
cd "$pwd"
}
build () {
URL=$1
shift 1
FILE="$(basename $URL)"
NAME="${FILE%.tar.*}"
DIR="$BUILD_DIR/$NAME"
pwd="$(pwd)"
cd "$DIR"
echo "${GREEN}Configuring ${NAME}...${NC}"
./configure --prefix="$PREFIX" --host="$CHOST" $@
echo "${GREEN}Building ${NAME}...${NC}"
make "$MAKEFLAGS"
echo "${GREEN}Installing ${NAME}...${NC}"
make "$MAKEFLAGS" install
cd "$pwd"
}
build_qemu_dependencies () {
build $FFI_SRC
build $ICONV_SRC
build $GETTEXT_SRC
build $PNG_SRC
build $JPEG_TURBO_SRC
build $GLIB_SRC glib_cv_stack_grows=no glib_cv_uscore=no --with-pcre=internal
build $GPG_ERROR_SRC
build $GCRYPT_SRC
build $PIXMAN_SRC
build_openssl $OPENSSL_SRC
build $OPUS_SRC
build $SPICE_PROTOCOL_SRC
build $SPICE_SERVER_SRC
build $NCURSES_SRC --without-debug --enable-overwrite --enable-widec --with-ospeed=int16_t --without-progs --without-tack --without-tests
}
build_qemu () {
QEMU_DIR="$BUILD_DIR/qemu"
if [ ! -d "$QEMU_DIR" ]; then
echo "${GREEN}Cloning qemu...${NC}"
git clone --depth 1 --recursive --shallow-submodules "$QEMU_GIT" "$QEMU_DIR"
fi
QEMU_CFLAGS="$CFLAGS"
QEMU_CXXFLAGS="$CXXFLAGS"
QEMU_LDFLAGS="$LDFLAGS"
export QEMU_CFLAGS
export QEMU_CXXFLAGS
export QEMU_LDFLAGS
CFLAGS=
CXXFLAGS=
LDFLAGS=
build qemu --enable-shared-lib
CFLAGS="$QEMU_CFLAGS"
CXXFLAGS="$QEMU_CXXFLAGS"
LDFLAGS="$QEMU_LDFLAGS"
}
steal_libucontext () {
# HACK: use the libucontext built by qemu
cp "$BUILD_DIR/qemu/libucontext/libucontext.a" "$PREFIX/lib/libucontext.a"
cp "$BUILD_DIR/qemu/libucontext/include/libucontext.h" "$PREFIX/include/libucontext.h"
}
build_spice_client () {
build $JSON_GLIB_SRC
build $GST_SRC --enable-static --enable-static-plugins --disable-registry
build $GST_BASE_SRC --enable-static --disable-fatal-warnings
build $GST_GOOD_SRC --enable-static
build $SPICE_CLIENT_SRC --with-gtk=no
}
fixup () {
FILE=$1
LIST=$(otool -L "$FILE" | tail -n +3 | cut -d ' ' -f 1 | awk '{$1=$1};1')
OLDIFS=$IFS
IFS=$'\n'
echo "${GREEN}Fixing up $FILE...${NC}"
install_name_tool -id "@rpath/$(basename "$FILE")" "$FILE"
for f in $LIST
do
base=$(basename "$f")
dir=$(dirname "$f")
if [ "$dir" == "$PREFIX/lib" ]; then
install_name_tool -change "$f" "@rpath/$base" "$FILE"
fi
done
IFS=$OLDIFS
}
fixup_all () {
FILES=$(find "$SYSROOT_DIR/lib" -type f -name "*.dylib")
OLDIFS=$IFS
IFS=$'\n'
for f in $FILES
do
fixup $f
done
IFS=$OLDIFS
}
remove_shared_gst_plugins () {
find "$SYSROOT_DIR/lib/gstreamer-1.0" \( -name '*.so' -or -name '*.la' \) -exec rm \{\} \;
}
if [ "x$ARCH" == "x" ]; then
ARCH=arm64
fi
export ARCH
# Export supplied CHOST or deduce by ARCH
if [ -z "$CHOST" ]; then
case $ARCH in
armv7 | armv7s )
CHOST=arm-apple-darwin
;;
arm64 )
CHOST=aarch64-apple-darwin
;;
i386 | x86_64 )
CHOST=$ARCH-apple-darwin
;;
* )
usage
;;
esac
fi
export CHOST
# Export supplied SDK or deduce by ARCH
if [ -z "$SDK" ]; then
case $ARCH in
armv7 | armv7s | arm64 )
SDK=iphoneos
;;
i386 | x86_64 )
SDK=iphonesimulator
;;
* )
usage
;;
esac
fi
# Export supplied SDKVERSION or use system default
if [ ! -z "$SDKVERSION" ]; then
SDKNAME=$(basename $(xcrun --sdk $SDK --show-sdk-platform-path) .platform)
SDKROOT=$(xcrun --sdk $SDK --show-sdk-platform-path)"/Developer/SDKs/$SDKNAME.$SDKVERSION.sdk"
else
SDKVERSION=$(xcrun --sdk $SDK --show-sdk-version) # current version
SDKROOT=$(xcrun --sdk $SDK --show-sdk-path) # current version
fi
if [ -z "$SDKMINVER" ]; then
SDKMINVER="$SDKVERSION"
fi
# Export tools
CC=$(xcrun --sdk $SDK --find gcc)
CPP=$(xcrun --sdk $SDK --find gcc)" -E"
CXX=$(xcrun --sdk $SDK --find g++)
LD=$(xcrun --sdk $SDK --find ld)
export CC
export CPP
export CXX
export LD
export PREFIX
# Flags
CFLAGS="$CFLAGS -arch $ARCH -isysroot $SDKROOT -I$PREFIX/include -miphoneos-version-min=$SDKMINVER"
CPPFLAGS="$CPPFLAGS -arch $ARCH -isysroot $SDKROOT -I$PREFIX/include -miphoneos-version-min=$SDKMINVER"
CXXFLAGS="$CXXFLAGS -arch $ARCH -isysroot $SDKROOT -I$PREFIX/include"
LDFLAGS="$LDFLAGS -arch $ARCH -isysroot $SDKROOT -L$PREFIX/lib"
MAKEFLAGS="-j$NCPU"
PKG_CONFIG_PATH="$PKG_CONFIG_PATH":"$SDKROOT/usr/lib/pkgconfig":"$PREFIX/lib/pkgconfig":"$PREFIX/share/pkgconfig"
PKG_CONFIG_LIBDIR=""
export CFLAGS
export CPPFLAGS
export CXXFLAGS
export LDFLAGS
export MAKEFLAGS
export PKG_CONFIG_PATH
export PKG_CONFIG_LIBDIR
check_env
download_all
build_qemu_dependencies
build_qemu
steal_libucontext # should be a better way...
build_spice_client
fixup_all
remove_shared_gst_plugins # another hack...
echo "${GREEN}All done!${NC}"
+29
View File
@@ -0,0 +1,29 @@
diff -aur a/glib/genviron.c b/glib/genviron.c
--- a/glib/genviron.c 2018-01-22 12:28:02.000000000 -0800
+++ b/glib/genviron.c 2019-03-26 13:50:40.000000000 -0700
@@ -29,8 +29,16 @@
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_CRT_EXTERNS_H
+#ifdef __APPLE__
+#include "TargetConditionals.h"
+#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
+#define APPLE_USE_CRT_EXTERNS
+#endif
+#endif
+#ifdef APPLE_USE_CRT_EXTERNS
#include <crt_externs.h> /* for _NSGetEnviron */
#endif
+#endif
#ifdef G_OS_WIN32
#include <windows.h>
#endif
@@ -303,7 +311,7 @@
return result == 0;
}
-#ifdef HAVE__NSGETENVIRON
+#ifdef APPLE_USE_CRT_EXTERNS
#define environ (*_NSGetEnviron())
#else
/* According to the Single Unix Specification, environ is not
+12
View File
@@ -0,0 +1,12 @@
diff -aur a/gst-libs/gst/rtp/gstrtcpbuffer.c b/gst-libs/gst/rtp/gstrtcpbuffer.c
--- a/gst-libs/gst/rtp/gstrtcpbuffer.c 2019-01-26 10:51:01.000000000 -0800
+++ b/gst-libs/gst/rtp/gstrtcpbuffer.c 2019-04-01 14:27:21.000000000 -0700
@@ -564,7 +564,7 @@
* start a compount packet. Next we figure out if we have enough free space in
* the buffer to continue. */
len = rtcp_packet_min_length (type);
- if (type == -1)
+ if ((int)type == -1)
goto unknown_type;
if (packet->offset + len >= maxsize)
goto no_space;
+129
View File
@@ -0,0 +1,129 @@
diff -aur a/mpi/aarch64/mpih-add1.S b/mpi/aarch64/mpih-add1.S
--- a/mpi/aarch64/mpih-add1.S 2017-11-23 10:16:58.000000000 -0800
+++ b/mpi/aarch64/mpih-add1.S 2019-03-25 13:02:30.000000000 -0700
@@ -33,9 +33,9 @@
.text
-.globl _gcry_mpih_add_n
-.type _gcry_mpih_add_n,%function
-_gcry_mpih_add_n:
+.globl __gcry_mpih_add_n
+#.type _gcry_mpih_add_n,%function
+__gcry_mpih_add_n:
and x5, x3, #3;
adds xzr, xzr, xzr; /* clear carry flag */
@@ -68,4 +68,5 @@
.Lend:
adc x0, xzr, xzr;
ret;
-.size _gcry_mpih_add_n,.-_gcry_mpih_add_n;
+#.size _gcry_mpih_add_n,.-_gcry_mpih_add_n;
+.align 2
diff -aur a/mpi/aarch64/mpih-mul1.S b/mpi/aarch64/mpih-mul1.S
--- a/mpi/aarch64/mpih-mul1.S 2017-11-23 10:16:58.000000000 -0800
+++ b/mpi/aarch64/mpih-mul1.S 2019-03-25 13:02:52.000000000 -0700
@@ -33,9 +33,9 @@
.text
-.globl _gcry_mpih_mul_1
-.type _gcry_mpih_mul_1,%function
-_gcry_mpih_mul_1:
+.globl __gcry_mpih_mul_1
+#.type _gcry_mpih_mul_1,%function
+__gcry_mpih_mul_1:
and x5, x2, #3;
mov x4, xzr;
@@ -93,4 +93,5 @@
.Lend:
mov x0, x4;
ret;
-.size _gcry_mpih_mul_1,.-_gcry_mpih_mul_1;
+#.size _gcry_mpih_mul_1,.-_gcry_mpih_mul_1;
+.align 2
diff -aur a/mpi/aarch64/mpih-mul2.S b/mpi/aarch64/mpih-mul2.S
--- a/mpi/aarch64/mpih-mul2.S 2017-11-23 10:16:58.000000000 -0800
+++ b/mpi/aarch64/mpih-mul2.S 2019-03-25 13:02:56.000000000 -0700
@@ -33,9 +33,9 @@
.text
-.globl _gcry_mpih_addmul_1
-.type _gcry_mpih_addmul_1,%function
-_gcry_mpih_addmul_1:
+.globl __gcry_mpih_addmul_1
+#.type _gcry_mpih_addmul_1,%function
+__gcry_mpih_addmul_1:
and x5, x2, #3;
mov x6, xzr;
mov x7, xzr;
@@ -105,4 +105,5 @@
.Lend:
mov x0, x6;
ret;
-.size _gcry_mpih_addmul_1,.-_gcry_mpih_addmul_1;
+#.size _gcry_mpih_addmul_1,.-_gcry_mpih_addmul_1;
+.align 2
diff -aur a/mpi/aarch64/mpih-mul3.S b/mpi/aarch64/mpih-mul3.S
--- a/mpi/aarch64/mpih-mul3.S 2017-11-23 10:16:58.000000000 -0800
+++ b/mpi/aarch64/mpih-mul3.S 2019-03-25 13:02:59.000000000 -0700
@@ -33,9 +33,9 @@
.text
-.globl _gcry_mpih_submul_1
-.type _gcry_mpih_submul_1,%function
-_gcry_mpih_submul_1:
+.globl __gcry_mpih_submul_1
+#.type _gcry_mpih_submul_1,%function
+__gcry_mpih_submul_1:
and x5, x2, #3;
mov x7, xzr;
cbz x5, .Large_loop;
@@ -118,4 +118,5 @@
.Loop_end:
cinc x0, x7, cc;
ret;
-.size _gcry_mpih_submul_1,.-_gcry_mpih_submul_1;
+#.size _gcry_mpih_submul_1,.-_gcry_mpih_submul_1;
+.align 2
diff -aur a/mpi/aarch64/mpih-sub1.S b/mpi/aarch64/mpih-sub1.S
--- a/mpi/aarch64/mpih-sub1.S 2017-11-23 10:16:58.000000000 -0800
+++ b/mpi/aarch64/mpih-sub1.S 2019-03-25 13:03:02.000000000 -0700
@@ -33,9 +33,9 @@
.text
-.globl _gcry_mpih_sub_n
-.type _gcry_mpih_sub_n,%function
-_gcry_mpih_sub_n:
+.globl __gcry_mpih_sub_n
+#.type _gcry_mpih_sub_n,%function
+__gcry_mpih_sub_n:
and x5, x3, #3;
subs xzr, xzr, xzr; /* prepare carry flag for sub */
@@ -68,4 +68,5 @@
.Lend:
cset x0, cc;
ret;
-.size _gcry_mpih_sub_n,.-_gcry_mpih_sub_n;
+#.size _gcry_mpih_sub_n,.-_gcry_mpih_sub_n;
+.align 2
diff -aur a/tests/random.c b/tests/random.c
--- a/tests/random.c 2017-11-23 10:16:58.000000000 -0800
+++ b/tests/random.c 2019-03-25 13:00:20.000000000 -0700
@@ -553,8 +553,8 @@
strcat (cmdline, " --progress");
strcat (cmdline, " ");
strcat (cmdline, options[idx]);
- if (system (cmdline))
- die ("running '%s' failed\n", cmdline);
+ //if (system (cmdline))
+ // die ("running '%s' failed\n", cmdline);
}
free (cmdline);
+11
View File
@@ -0,0 +1,11 @@
diff -aur a/libpng.pc.in b/libpng.pc.in
--- a/libpng.pc.in 2018-12-01 06:36:00.000000000 -0800
+++ b/libpng.pc.in 2019-04-01 10:22:25.000000000 -0700
@@ -6,7 +6,6 @@
Name: libpng
Description: Loads and saves PNG files
Version: @PNGLIB_VERSION@
-Requires: zlib
Libs: -L${libdir} -lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
Libs.private: @LIBS@
Cflags: -I${includedir}
+49
View File
@@ -0,0 +1,49 @@
diff -aur a/Makefile.am b/Makefile.am
--- a/Makefile.am 2019-01-21 03:17:13.000000000 -0800
+++ b/Makefile.am 2019-03-25 13:38:31.000000000 -0700
@@ -1,4 +1,4 @@
-SUBDIRS = pixman demos test
+SUBDIRS = pixman
pkgconfigdir=$(libdir)/pkgconfig
pkgconfig_DATA=pixman-1.pc
diff -aur a/Makefile.in b/Makefile.in
--- a/Makefile.in 2019-02-11 04:24:53.000000000 -0800
+++ b/Makefile.in 2019-03-25 13:39:24.000000000 -0700
@@ -190,7 +190,7 @@
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/pixman-1-uninstalled.pc.in $(srcdir)/pixman-1.pc.in \
AUTHORS COPYING ChangeLog INSTALL NEWS README compile \
- config.guess config.sub install-sh ltmain.sh missing
+ config.guess config.sub depcomp install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -373,7 +373,6 @@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -382,7 +381,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = pixman demos test
+SUBDIRS = pixman
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = pixman-1.pc
GPGKEY = 3892336E
diff -aur a/test/Makefile.in b/test/Makefile.in
--- a/test/Makefile.in 2019-02-11 04:24:53.000000000 -0800
+++ b/test/Makefile.in 2019-03-25 13:35:30.000000000 -0700
@@ -812,7 +812,6 @@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+89
View File
@@ -0,0 +1,89 @@
diff -aur a/Makefile.in b/Makefile.in
--- a/Makefile.in 2018-08-22 04:32:02.000000000 -0700
+++ b/Makefile.in 2019-03-30 12:26:29.000000000 -0700
@@ -422,7 +422,7 @@
valgrind_tools = @valgrind_tools@
NULL =
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = subprojects/spice-common server docs tools
+SUBDIRS = subprojects/spice-common server docs
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = spice-server.pc
DISTCHECK_CONFIGURE_FLAGS = \
diff -aur a/server/red-stream.c b/server/red-stream.c
--- a/server/red-stream.c 2018-07-23 03:01:37.000000000 -0700
+++ b/server/red-stream.c 2019-03-30 11:00:26.000000000 -0700
@@ -352,8 +352,16 @@
memcpy(CMSG_DATA(cmsg), &fd, fd_size);
}
+#if defined(__APPLE__)
+ int set = 1;
+ setsockopt(stream->socket, SOL_SOCKET, SO_NOSIGPIPE, (void *)&set, sizeof(int));
+#endif
do {
+#if defined(__APPLE__)
+ r = sendmsg(stream->socket, &msgh, 0);
+#else
r = sendmsg(stream->socket, &msgh, MSG_NOSIGNAL);
+#endif
} while (r < 0 && (errno == EINTR || errno == EAGAIN));
return r;
diff -aur a/server/red-worker.c b/server/red-worker.c
--- a/server/red-worker.c 2018-08-09 04:09:22.000000000 -0700
+++ b/server/red-worker.c 2019-03-30 11:02:48.000000000 -0700
@@ -1391,7 +1391,9 @@
spice_error("create thread failed %d", r);
}
pthread_sigmask(SIG_SETMASK, &curr_sig_mask, NULL);
+#if !defined(__APPLE__) // not supported
pthread_setname_np(worker->thread, "SPICE Worker");
+#endif
return r == 0;
}
diff -aur a/server/reds.c b/server/reds.c
--- a/server/reds.c 2018-08-09 04:09:22.000000000 -0700
+++ b/server/reds.c 2019-03-31 10:39:25.000000000 -0700
@@ -3555,6 +3555,7 @@
static const char* parse_next_video_codec(const char *codecs, char **encoder,
char **codec)
{
+ size_t len;
if (!codecs) {
return NULL;
}
@@ -3562,8 +3563,22 @@
if (!*codecs) {
return NULL;
}
+ len = strcspn(codecs, ";");
int n;
*encoder = *codec = NULL;
+#if defined(__APPLE__)
+ char *aencoder = malloc(len);
+ char *acodec = malloc(len);
+ if (sscanf(codecs, "%[0-9a-zA-Z_]:%[0-9a-zA-Z_]%n", aencoder, acodec, &n) == 2) {
+ // this avoids accepting "encoder:codec" followed by garbage like "$%*"
+ if (codecs[n] != ';' && codecs[n] != '\0') {
+ free(acodec);
+ acodec = NULL;
+ }
+ }
+ *encoder = aencoder;
+ *codec = acodec;
+#else
if (sscanf(codecs, "%m[0-9a-zA-Z_]:%m[0-9a-zA-Z_]%n", encoder, codec, &n) == 2) {
// this avoids accepting "encoder:codec" followed by garbage like "$%*"
if (codecs[n] != ';' && codecs[n] != '\0') {
@@ -3571,7 +3586,8 @@
*codec = NULL;
}
}
- return codecs + strcspn(codecs, ";");
+#endif
+ return codecs + len;
}
static void reds_set_video_codecs_from_string(RedsState *reds, const char *codecs)
+369
View File
@@ -0,0 +1,369 @@
diff -aur a/config.h.in b/config.h.in
--- a/config.h.in 2019-01-16 05:38:41.000000000 -0800
+++ b/config.h.in 2019-04-01 15:08:41.000000000 -0700
@@ -61,6 +61,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Use libucontext? */
+#undef HAVE_LIBUCONTEXT
+
/* Define if libva is available */
#undef HAVE_LIBVA
diff -aur a/configure b/configure
--- a/configure 2019-01-16 05:38:40.000000000 -0800
+++ b/configure 2019-04-01 15:08:40.000000000 -0700
@@ -727,6 +727,7 @@
INTROSPECTION_SCANNER
HAVE_INTROSPECTION_FALSE
HAVE_INTROSPECTION_TRUE
+UCONTEXT_LIBS
WITH_GTHREAD_FALSE
WITH_GTHREAD_TRUE
WITH_WINFIBER_FALSE
@@ -17851,6 +17852,97 @@
fi
fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo >= 1.2.0" >&5
+$as_echo_n "checking for cairo >= 1.2.0... " >&6; }
+
+if test -n "$CAIRO_CFLAGS"; then
+ pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$CAIRO_LIBS"; then
+ pkg_cv_CAIRO_LIBS="$CAIRO_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cairo >= 1.2.0" 2>&1`
+ else
+ CAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cairo >= 1.2.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$CAIRO_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (cairo >= 1.2.0) were not met:
+
+$CAIRO_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables CAIRO_CFLAGS
+and CAIRO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables CAIRO_CFLAGS
+and CAIRO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS
+ CAIRO_LIBS=$pkg_cv_CAIRO_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=$GTK_ENCODED_VERSION \
-DGDK_VERSION_MAX_ALLOWED=$GTK_ENCODED_VERSION"
fi
@@ -18264,100 +18356,8 @@
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CAIRO" >&5
-$as_echo_n "checking for CAIRO... " >&6; }
-
-if test -n "$CAIRO_CFLAGS"; then
- pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.2.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$CAIRO_LIBS"; then
- pkg_cv_CAIRO_LIBS="$CAIRO_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.2.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "cairo >= 1.2.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.2.0" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cairo >= 1.2.0" 2>&1`
- else
- CAIRO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cairo >= 1.2.0" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$CAIRO_PKG_ERRORS" >&5
-
- as_fn_error $? "Package requirements (cairo >= 1.2.0) were not met:
-
-$CAIRO_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables CAIRO_CFLAGS
-and CAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables CAIRO_CFLAGS
-and CAIRO_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
- CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS
- CAIRO_LIBS=$pkg_cv_CAIRO_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-
-pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5
$as_echo_n "checking for GTHREAD... " >&6; }
if test -n "$GTHREAD_CFLAGS"; then
pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
@@ -20119,6 +20119,50 @@
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libucontext_makecontext in -lucontext" >&5
+$as_echo_n "checking for libucontext_makecontext in -lucontext... " >&6; }
+if ${ac_cv_lib_ucontext_libucontext_makecontext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lucontext $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char libucontext_makecontext ();
+int
+main ()
+{
+return libucontext_makecontext ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_ucontext_libucontext_makecontext=yes
+else
+ ac_cv_lib_ucontext_libucontext_makecontext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucontext_libucontext_makecontext" >&5
+$as_echo "$ac_cv_lib_ucontext_libucontext_makecontext" >&6; }
+if test "x$ac_cv_lib_ucontext_libucontext_makecontext" = xyes; then :
+ UCONTEXT_LIBS='-lucontext'
+$as_echo "#define HAVE_LIBUCONTEXT 1" >>confdefs.h
+
+fi
+
+
+
if test "0" = "1"; then
HAVE_INTROSPECTION_TRUE=
HAVE_INTROSPECTION_FALSE='#'
diff -aur a/configure.ac b/configure.ac
--- a/configure.ac 2019-01-16 03:31:42.000000000 -0800
+++ b/configure.ac 2019-04-01 15:08:24.000000000 -0700
@@ -147,7 +147,8 @@
AS_IF([test "x$with_gtk" != "xno"],
[AS_IF([test "x$os_win32" = "xyes"],
[PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED)],
- [PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED epoxy)])]
+ [PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED epoxy)])
+ PKG_CHECK_MODULES(CAIRO, cairo >= 1.2.0)]
[GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=$GTK_ENCODED_VERSION \
-DGDK_VERSION_MAX_ALLOWED=$GTK_ENCODED_VERSION"])
SPICE_GTK_REQUIRES="${SPICE_GTK_REQUIRES} gtk+-3.0 >= $GTK_REQUIRED"
@@ -169,8 +170,6 @@
PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.36 $gio_os)
-PKG_CHECK_MODULES(CAIRO, cairo >= 1.2.0)
-
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
PKG_CHECK_MODULES(JSON, json-glib-1.0)
@@ -435,6 +434,9 @@
AC_DEFINE_UNQUOTED([WITH_GTHREAD],[$WITH_GTHREAD], [Whether to use gthread coroutine impl])
AM_CONDITIONAL(WITH_GTHREAD, [test "x$WITH_GTHREAD" = "x1"])
+AC_CHECK_LIB(ucontext, libucontext_makecontext, UCONTEXT_LIBS='-lucontext' AC_DEFINE([HAVE_LIBUCONTEXT], 1, [Use libucontext?]), [])
+AC_SUBST(UCONTEXT_LIBS)
+
AM_CONDITIONAL([HAVE_INTROSPECTION], [test "0" = "1"])
m4_ifdef([GOBJECT_INTROSPECTION_CHECK],[
PKG_CHECK_EXISTS([GOBJECT_INTROSPECTION],
diff -aur a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am 2019-01-16 03:31:42.000000000 -0800
+++ b/src/Makefile.am 2019-04-01 15:09:24.000000000 -0700
@@ -201,6 +201,7 @@
$(USBREDIR_LIBS) \
$(GUDEV_LIBS) \
$(PHODAV_LIBS) \
+ $(UCONTEXT_LIBS) \
$(NULL)
if WITH_POLKIT
diff -aur a/src/Makefile.in b/src/Makefile.in
--- a/src/Makefile.in 2019-01-16 05:38:41.000000000 -0800
+++ b/src/Makefile.in 2019-04-01 15:10:59.000000000 -0700
@@ -210,8 +210,8 @@
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
am__libspice_client_glib_impl_la_SOURCES_DIST = bio-gio.c bio-gio.h \
spice-audio.c spice-audio-priv.h spice-gstaudio.c \
spice-gstaudio.h spice-common.h spice-util.c spice-util-priv.h \
@@ -628,6 +628,7 @@
SSL_LIBS = @SSL_LIBS@
STOW = @STOW@
STRIP = @STRIP@
+UCONTEXT_LIBS = @UCONTEXT_LIBS@
USBREDIR_CFLAGS = @USBREDIR_CFLAGS@
USBREDIR_LIBS = @USBREDIR_LIBS@
USB_IDS = @USB_IDS@
@@ -848,7 +849,8 @@
$(JPEG_LIBS) $(JSON_LIBS) $(Z_LIBS) $(LZ4_LIBS) $(PIXMAN_LIBS) \
$(SSL_LIBS) $(PULSE_LIBS) $(GSTAUDIO_LIBS) $(GSTVIDEO_LIBS) \
$(SASL_LIBS) $(SMARTCARD_LIBS) $(USBREDIR_LIBS) $(GUDEV_LIBS) \
- $(PHODAV_LIBS) $(NULL) $(am__append_10) $(am__append_12)
+ $(PHODAV_LIBS) $(UCONTEXT_LIBS) $(NULL) $(am__append_10) \
+ $(am__append_12)
@WITH_POLKIT_FALSE@USB_ACL_HELPER_SRCS =
@WITH_POLKIT_TRUE@USB_ACL_HELPER_SRCS = \
@WITH_POLKIT_TRUE@ usb-acl-helper.c \
diff -aur a/src/continuation.h b/src/continuation.h
--- a/src/continuation.h 2017-06-20 09:14:41.000000000 -0700
+++ b/src/continuation.h 2019-04-01 15:10:46.000000000 -0700
@@ -23,7 +23,16 @@
#include "spice-common.h"
#include <stddef.h>
+#ifdef HAVE_LIBUCONTEXT
+#include <libucontext.h>
+#define ucontext_t libucontext_ucontext_t
+#define getcontext libucontext_getcontext
+#define setcontext libucontext_setcontext
+#define swapcontext libucontext_swapcontext
+#define makecontext libucontext_makecontext
+#else
#include <ucontext.h>
+#endif
#include <setjmp.h>
struct continuation
+234
View File
@@ -0,0 +1,234 @@
diff -aur a/src/glue-clipboard-macos.c b/src/glue-clipboard-macos.c
--- a/src/glue-clipboard-macos.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/glue-clipboard-macos.c 2019-04-03 15:12:20.000000000 -0700
@@ -29,6 +29,7 @@
#include "glue-spice-widget-priv.h"
#include "glue-clipboard.h"
+extern GMainContext *g_spice_glue_context;
gboolean enableClipboardToGuest = FALSE;
gboolean enableClipboardToClient = FALSE;
uint32_t *guestClipboard = NULL;
@@ -122,7 +123,10 @@
return 0;
}
- g_idle_add(grab_guest_clipboard, NULL);
+ GSource *source = g_idle_source_new();
+ g_source_set_callback(source, grab_guest_clipboard, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
return 0;
}
@@ -156,7 +160,10 @@
return 0;
}
- g_idle_add(release_guest_clipboard, NULL);
+ GSource *source = g_idle_source_new();
+ g_source_set_callback(source, release_guest_clipboard, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
return 0;
}
@@ -192,7 +199,10 @@
return 0;
}
- g_idle_add(clipboard_get_data, NULL);
+ GSource *source = g_idle_source_new();
+ g_source_set_callback(source, clipboard_get_data, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
return 1;
}
diff -aur a/src/glue-clipboard-win32.c b/src/glue-clipboard-win32.c
--- a/src/glue-clipboard-win32.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/glue-clipboard-win32.c 2019-04-03 15:16:18.000000000 -0700
@@ -81,6 +81,8 @@
GMutex data_mutex;
GCond data_cond;
+extern GMainContext *g_spice_glue_context;
+
//If more clipboard formats are to be supported, use CBData
typedef struct
{
@@ -503,9 +505,10 @@
}
if (wparam == CF_UNICODETEXT) {
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- onRenderFormat_text,
- NULL, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, onRenderFormat_text, NULL, NULL);
+ id = g_source_attach(source, g_spice_glue_context);
+ g_source_unref (source);
/* https://msdn.microsoft.com/en-us/library/windows/desktop/ms649016(v=vs.85).aspx */
// Allocate a buffer for the text.
diff -aur a/src/glue-connection.c b/src/glue-connection.c
--- a/src/glue-connection.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/glue-connection.c 2019-04-02 13:13:31.000000000 -0700
@@ -245,6 +245,6 @@
void spice_connection_power_event_request(SpiceConnection *conn, int powerEvent)
{
- if (conn->main != NULL)
- spice_main_power_event_request(conn->main, powerEvent);
-}
\ No newline at end of file
+ //if (conn->main != NULL)
+ // spice_main_power_event_request(conn->main, powerEvent);
+}
diff -aur a/src/glue-service.c b/src/glue-service.c
--- a/src/glue-service.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/glue-service.c 2019-04-03 13:33:21.000000000 -0700
@@ -72,6 +72,8 @@
#include <stdlib.h>
static FILE *logfile = NULL;
+GMainContext *g_spice_glue_context;
+
void logToFile (const gchar *log_domain, GLogLevelFlags log_level,
const gchar *message, gpointer user_data)
{
@@ -179,7 +181,7 @@
void SpiceGlibGlue_MainLoop(void)
{
- GMainLoop *mainloop = g_main_loop_new(NULL, FALSE);
+ GMainLoop *mainloop = g_main_loop_new(g_spice_glue_context, FALSE);
g_main_loop_run(mainloop);
g_main_loop_unref(mainloop);
#if defined(PRINTING) || defined(SSO)
@@ -197,9 +199,10 @@
void SpiceGlibGlue_Disconnect(void)
{
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- disconnect1,
- NULL, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, disconnect1, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
}
int16_t SpiceGlibGlue_Connect(char* host,
@@ -250,6 +253,7 @@
void SpiceGlibGlueInitializeGlue()
{
+ g_spice_glue_context = g_main_context_new();
#ifdef PRINTING
initializeFollowMePrinting();
#endif
@@ -326,7 +330,8 @@
* in spice-protocol enums.h
**/
void SpiceGlibGlue_SendPowerEvent(int16_t powerEvent) {
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- (GSourceFunc)sendPowerEvent1,
- (gpointer)powerEvent, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, (GSourceFunc)sendPowerEvent1, (gpointer)powerEvent, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
}
diff -aur a/src/glue-spice-widget.c b/src/glue-spice-widget.c
--- a/src/glue-spice-widget.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/glue-spice-widget.c 2019-04-03 13:16:28.000000000 -0700
@@ -41,6 +41,7 @@
#include "mono-glue-types.h"
#include "glue-clipboard.h"
+extern GMainContext *g_spice_glue_context;
static struct {
uint32_t *buffer;
@@ -1063,7 +1064,10 @@
}
if (!d->copy_scheduled) {
- g_timeout_add(30, (GSourceFunc) copy_display_to_glue, NULL);
+ GSource *source = g_timeout_source_new(30);
+ g_source_set_callback(source, (GSourceFunc) copy_display_to_glue, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
d->copy_scheduled = 1;
}
}
@@ -1623,7 +1627,10 @@
if (global_display() != NULL) {
SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(global_display());
if (!d->copy_scheduled) {
- g_timeout_add(30, (GSourceFunc) copy_display_to_glue, NULL);
+ GSource *source = g_timeout_source_new(30);
+ g_source_set_callback(source, (GSourceFunc) copy_display_to_glue, NULL, NULL);
+ g_source_attach(source, g_spice_glue_context);
+ g_source_unref(source);
d->copy_scheduled = 1;
}
}
diff -aur a/src/usb-device-widget.c b/src/usb-device-widget.c
--- a/src/usb-device-widget.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/usb-device-widget.c 2019-04-03 15:16:12.000000000 -0700
@@ -25,6 +25,8 @@
#include "usb-device-widget.h"
#include <spice-gtk/spice-util-priv.h>
+extern GMainContext *g_spice_glue_context;
+
/**
* SECTION:usb-device-widget
* @short_description: USB device selection glue
@@ -510,9 +512,10 @@
connect_cb_data *data = g_new(connect_cb_data, 1);
data->self = g_object_ref(self);
data->device = device;
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- spice_usb_device_widget_unshare1,
- data, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, spice_usb_device_widget_unshare1, NULL, NULL);
+ id = g_source_attach(source, g_spice_glue_context);
+ g_source_unref (source);
}
diff -aur a/src/usb-glue.c b/src/usb-glue.c
--- a/src/usb-glue.c 2019-04-01 19:04:28.000000000 -0700
+++ b/src/usb-glue.c 2019-04-03 15:16:05.000000000 -0700
@@ -108,9 +108,10 @@
void SpiceGlibGlue_InitWindowsEvents() {
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- startMessageLoop,
- NULL, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, startMessageLoop, NULL, NULL);
+ id = g_source_attach(source, g_spice_glue_context);
+ g_source_unref (source);
}
static gboolean finalizeMessageWindow() {
@@ -122,9 +123,10 @@
}
void SpiceGlibGlue_FinalizeWindowsEvents() {
- g_timeout_add_full(G_PRIORITY_HIGH, 0,
- finalizeMessageWindow,
- NULL, NULL);
+ GSource *source = g_timeout_source_new(0);
+ g_source_set_callback(source, finalizeMessageWindow, NULL, NULL);
+ id = g_source_attach(source, g_spice_glue_context);
+ g_source_unref (source);
}
#endif