Просмотр исходного кода

SPEC-7809 3P Conversion: ISPCTexComp (#25)

* SPEC-7809 3P Conversion: ISPCTexComp
Signed-off-by: qingtao <[email protected]>
Qing Tao 4 лет назад
Родитель
Сommit
e1c1d8bd29

+ 38 - 0
package-system/ISPCTexComp/FindISPCTexComp.cmake

@@ -0,0 +1,38 @@
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root
+# of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+
+set(LIB_NAME "ISPCTexComp")
+set(TARGET_WITH_NAMESPACE "3rdParty::${LIB_NAME}")
+
+if (TARGET ${TARGET_WITH_NAMESPACE})
+    return()
+endif()
+
+set(${LIB_NAME}_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/${LIB_NAME}/include)
+set(${LIB_NAME}_BINARY_DIR ${CMAKE_CURRENT_LIST_DIR}/${LIB_NAME}/bin)
+
+if (${PAL_PLATFORM_NAME} STREQUAL "Windows")
+    set(${LIB_NAME}_LIBRARY   ${${LIB_NAME}_BINARY_DIR}/ispc_texcomp.lib)
+else()
+    set(${LIB_NAME}_LIBRARY   ${${LIB_NAME}_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}ispc_texcomp${CMAKE_SHARED_LIBRARY_SUFFIX})
+endif()
+
+set(${LIB_NAME}_RUNTIME_DEPENDENCIES ${${LIB_NAME}_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}ispc_texcomp${CMAKE_SHARED_LIBRARY_SUFFIX})
+
+# declare the target
+add_library(${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
+
+# add include directory
+ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${LIB_NAME}_INCLUDE_DIR})
+
+# for linking
+target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${${LIB_NAME}_LIBRARY})
+
+# add runtime dependencies
+ly_add_target_files(TARGETS ${TARGET_WITH_NAMESPACE} FILES ${${LIB_NAME}_RUNTIME_DEPENDENCIES})
+
+set(${LIB_NAME}_FOUND True)

+ 22 - 0
package-system/ISPCTexComp/ISPCTexComp_36b80aa.patch

@@ -0,0 +1,22 @@
+diff --git a/ispc_texcomp.xcodeproj/project.pbxproj b/ispc_texcomp.xcodeproj/project.pbxproj
+index 311f89e..f702dd6 100644
+--- a/ispc_texcomp.xcodeproj/project.pbxproj
++++ b/ispc_texcomp.xcodeproj/project.pbxproj
+@@ -253,7 +253,7 @@
+ 				DYLIB_INSTALL_NAME_BASE = "";
+ 				EXECUTABLE_PREFIX = lib;
+ 				INSTALL_PATH = "";
+-				LD_DYLIB_INSTALL_NAME = "@executable_path/../Frameworks/$(EXECUTABLE_PATH)";
++				LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)";
+ 				OTHER_LDFLAGS = (
+ 					"$(OBJROOT)/kernel.o",
+ 					"$(OBJROOT)/kernel_sse2.o",
+@@ -273,7 +273,7 @@
+ 				DYLIB_INSTALL_NAME_BASE = "";
+ 				EXECUTABLE_PREFIX = lib;
+ 				INSTALL_PATH = "";
+-				LD_DYLIB_INSTALL_NAME = "@executable_path/../Frameworks/$(EXECUTABLE_PATH)";
++				LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)";
+ 				OTHER_LDFLAGS = (
+ 					"$(OBJROOT)/kernel.o",
+ 					"$(OBJROOT)/kernel_sse2.o",

+ 271 - 0
package-system/ISPCTexComp/build_package_image.py

@@ -0,0 +1,271 @@
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root
+# of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+import json
+import os
+import pathlib
+import platform
+import re
+import requests
+import shutil
+import stat
+import string
+import subprocess
+import sys
+import time
+
+git_url = "https://github.com/GameTechDev/ISPCTextureCompressor.git"
+git_commit = "36b80aac50ea401a9adde44d86712c2241b2acfd"
+package_name = "ISPCTexComp"
+package_version = "36b80aa-rev1"
+package_url = "https://github.com/GameTechDev/ISPCTextureCompressor"
+package_license = "MIT"
+package_license_file = "license.txt"
+cmake_find_file = "FindISPCTexComp.cmake"
+source_patch_file="ISPCTexComp_36b80aa.patch"
+
+if platform.system() == 'Linux':
+    ispc_compiler_url = "https://github.com/ispc/ispc/releases/download/v1.16.1/ispc-v1.16.1-linux.tar.gz"
+    ispc_compiler_install_dir = "ISPC/linux"
+    ispc_compiler_package_file = "ispc-v1.16.1-linux.tar.gz"
+    ispc_compiler = "ispc-v1.16.1-linux/bin/ispc"
+    platform_name = "linux"
+elif platform.system() == 'Darwin':
+    ispc_compiler_url = "https://github.com/ispc/ispc/releases/download/v1.16.1/ispc-v1.16.1-macOS.tar.gz"
+    ispc_compiler_install_dir = "ISPC/osx"
+    ispc_compiler_package_file = "ispc-v1.16.1-macOS.tar.gz"
+    ispc_compiler = "ispc-v1.16.1-macOS/bin/ispc"
+    platform_name = "mac"
+elif platform.system() == 'Windows':
+    ispc_compiler_url = "https://github.com/ispc/ispc/releases/download/v1.16.1/ispc-v1.16.1-windows.zip"
+    ispc_compiler_install_dir = "ISPC/win"
+    ispc_compiler_package_file = "ispc-v1.16.1-windows.zip"
+    ispc_compiler = "ispc-v1.16.1-windows/bin/ispc.exe"
+    platform_name = "windows"
+
+def subp_args(args):
+    """
+    According to subcommand, when using shell=True, its recommended not to pass in an argument list but the full command line as a single string.
+    That means in the argument list in the configuration make sure to provide the proper escapements or double-quotes for paths with spaces
+
+    :param args: The list of arguments to transform
+    """
+    arg_string = " ".join([arg for arg in args])
+    print(f"Command: {arg_string}")
+    return arg_string
+
+def remove_readonly(func, path, _):
+    "Clear the readonly bit and reattempt the removal"
+    os.chmod(path, stat.S_IWRITE)
+    func(path)
+
+class IspcTexCompBuilder(object):
+    def __init__(self, workingDir: pathlib.Path, packageDir: pathlib.Path):
+        self.working_dir = workingDir
+        self.package_dir = packageDir
+        if self.working_dir.exists():
+            shutil.rmtree(self.working_dir, onerror=remove_readonly)
+        if self.package_dir.exists():
+            shutil.rmtree(self.package_dir, onerror=remove_readonly)
+        os.mkdir(self.working_dir)
+        os.mkdir(self.package_dir)
+        os.chdir(self.working_dir)
+        self.src_folder = self.working_dir/"src"
+        os.mkdir(self.src_folder)
+
+    def clone_to_local(self):
+        """
+        Perform a clone to the local temp folder
+        """
+        print(f"Cloning {package_name} to {self.src_folder}")
+
+        # git clone
+        working_dir = str(self.src_folder.parent.absolute())
+        relative_src_dir = self.src_folder.name
+        clone_cmd = ['git',
+                     'clone',
+                     '--single-branch',
+                     '--recursive',
+                     git_url,
+                     relative_src_dir]
+        clone_result = subprocess.run(subp_args(clone_cmd),
+                                      shell=True,
+                                      capture_output=True,
+                                      cwd=working_dir)
+        if clone_result.returncode != 0:
+            raise BuildError(f"Error cloning from GitHub: {clone_result.stderr.decode('UTF-8', 'ignore')}")
+        
+        # git checkout commit
+        checkout_result = subprocess.run(
+            ['git', 'checkout', git_commit],
+            capture_output=True,
+            cwd=self.src_folder)
+
+        if checkout_result.returncode != 0:
+            raise BuildError(f"Error checking out {self.package_info.git_commit}: {checkout_result.stderr.decode('UTF-8', 'ignore')}")
+
+        # apply patch
+        subprocess.check_output(
+            ['git', 'apply', '--whitespace=fix', str(self.working_dir.parent.joinpath(source_patch_file))],
+            cwd=self.src_folder,
+        )
+
+    def install_ispc_compiler(self):
+        """
+        Download ispc compiler and copy to source folder 
+        """
+        print(f"    > Downloading {ispc_compiler_url} to temp...")   
+        with open(ispc_compiler_package_file, "wb") as file:
+            # get request
+            response = requests.get(ispc_compiler_url)
+            # write to file
+            file.write(response.content)
+
+        #decompress
+        print(f"    > Unzipping {ispc_compiler_package_file} to ispc folder...") 
+        shutil.unpack_archive(ispc_compiler_package_file, "ispc")
+
+        #copy the content of bin folder to install folder
+        dest_folder = self.src_folder.joinpath(ispc_compiler_install_dir)
+        src_file = self.working_dir.joinpath("ispc/" + ispc_compiler)
+        print(f"    > Copying {src_file} to {dest_folder} folder...")
+        shutil.copy(src_file, dest_folder)
+
+    def build_windows(self):
+        """
+        build /ispc_texcomp/ispc_texcomp.vcxproj 
+        """
+        print(f"    > building for windows...")
+        batch_file = self.working_dir.parent.joinpath("build_windows.bat")
+        subprocess.call([str(batch_file.resolve())])
+            
+    def build_mac(self):
+        """
+        build ispc_texcomp.xcodeproj
+        """
+        print(f"    > building for macos...")
+        os.chdir(self.src_folder)
+        os.system("xcodebuild build  -scheme ispc_texcomp -project ispc_texcomp.xcodeproj -destination 'platform=macOS'")
+        os.chdir(self.working_dir)
+        
+
+    def build_linux(self):
+        """
+        Use make -f Makefile.linux to build the ISPC Texture Compressor library
+        """
+        print(f"    > building for linux...")
+        os.chdir(self.src_folder)
+        os.system("make -f Makefile.linux")
+        os.chdir(self.working_dir)
+                
+    def build(self):
+        if platform_name == "windows":
+            self.build_windows()
+        elif platform_name == "linux":
+            self.build_linux()
+        elif platform_name == "mac":
+            self.build_mac()
+            
+    def write_PackageInfo(self):        
+        settings={
+            'PackageName': f'{package_name}-{package_version}-{platform_name}',
+            "URL"         : f'{package_url}',
+            "License"     : f'{package_license}',
+            'LicenseFile': f'{package_license_file}'
+        }
+        package_file = self.package_dir / 'PackageInfo.json'
+        with package_file.open('w') as fh:
+            json.dump(settings, fh, indent=4)
+
+        print(f"    > file {package_file} was saved")
+
+    def copy_output(self):
+        """
+        copy library files and license files to self.package_dir folder
+        """
+        library_foloder = self.package_dir/ package_name
+        include_folder = library_foloder/'include'
+        bin_folder = library_foloder/'bin'
+        os.mkdir(library_foloder)
+        os.mkdir(include_folder)
+        os.mkdir(include_folder/'ISPC')
+        # copy header files
+        os.mkdir(bin_folder)
+        shutil.copy2(
+            src=self.src_folder /'ispc_texcomp/ispc_texcomp.h',
+            dst=include_folder/'ISPC',
+        )
+        # copy library files        
+        if platform_name == "windows":
+            shutil.copy2(
+                src=self.src_folder /'ispc_texcomp/x64/Release/ispc_texcomp.dll',
+                dst=bin_folder,
+            )
+            shutil.copy2(
+                src=self.src_folder /'ispc_texcomp/x64/Release/ispc_texcomp.lib',
+                dst=bin_folder,
+            )
+        elif platform_name == "linux":
+            shutil.copy2(
+                src=self.src_folder /'build/libispc_texcomp.so',
+                dst=bin_folder,
+            )
+        elif platform_name == "mac":
+            shutil.copy2(
+                src=self.src_folder /'build/libispc_texcomp.dylib',
+                dst=bin_folder,
+            )
+
+        # copy license file
+        shutil.copy2(
+            src=self.src_folder / 'license.txt',
+            dst=self.package_dir,
+        )
+
+        #copy find package cmake
+        shutil.copy2(
+            src= self.working_dir.parent.joinpath(cmake_find_file),
+            dst=self.package_dir,
+        )
+
+        # write package info
+        self.write_PackageInfo()
+
+def main():
+    working_folder = pathlib.Path(os.getcwd()+"/temp")
+    package_folder = pathlib.Path(os.getcwd()).parent.joinpath(f'{package_name}-{platform_name}')
+    print(f"    > Build ISPCTexComp Package from {working_folder} and saving to {package_folder}")
+
+    builder = IspcTexCompBuilder(working_folder, package_folder)
+
+    builder.clone_to_local()
+    builder.install_ispc_compiler()
+    builder.build()
+    builder.copy_output()
+
+    print(f"    > Build {package_name} Package complete")
+
+    return True
+
+if __name__ == '__main__':
+
+    start = time.time()
+
+    result = main()
+
+    elapsed = time.time() - start
+    hour = int(elapsed // 3600)
+    minute = int((elapsed - 3600*hour) // 60)
+    seconds = int((elapsed - 3600*hour - 60*minute))
+    
+    print(f'    > Total time {hour}:{minute:02d}:{seconds:02d}')
+
+    if result:
+        exit(0)
+    else:
+        exit(1)

+ 36 - 0
package-system/ISPCTexComp/build_windows.bat

@@ -0,0 +1,36 @@
+@setlocal enabledelayedexpansion
+@echo off
+
+REM
+REM Copyright (c) Contributors to the Open 3D Engine Project.
+REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
+REM 
+REM SPDX-License-Identifier: Apache-2.0 OR MIT
+REM
+REM
+
+set ScriptDir=%~dp0
+set tempdir=%ScriptDir%temp
+set srcDir=%tempdir%\src
+
+set vswhere_location=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer
+
+echo adding %vswhere_location% to PATH
+set PATH=%vswhere_location%;%PATH%
+
+for /f "tokens=*" %%i in ('vswhere -property installationPath') do set VS2019_LOCATION=%%i
+
+echo Using Visual Studio: %VS2019_LOCATION%
+
+if NOT exist "%VS2019_LOCATION%\Common7\Tools\vsdevcmd.bat" (
+     echo Could not find visual studio 2019 installed
+    exit /B 1
+ )
+call "%VS2019_LOCATION%\Common7\Tools\vsdevcmd.bat"
+
+echo building release...
+msbuild.exe %srcDir%\ispc_texcomp\ispc_texcomp.vcxproj /t:Build /m /nologo /v:m /p:Configuration=Release /p:Platform=x64
+if %ERRORLEVEL% NEQ 0 (
+  echo Failed to build release ispc_texcomp
+  exit /B 1
+)

+ 22 - 20
package_build_list_host_darwin.json

@@ -3,19 +3,20 @@
     "comment2" : "build_from_source is package name --> build script to call with params",
     "comment2" : "build_from_source is package name --> build script to call with params",
     "comment3" : "build_from_folder is package name --> folder containing built image of package",
     "comment3" : "build_from_folder is package name --> folder containing built image of package",
     "comment4" : "Note:  Build from source occurs before build_from_folder",
     "comment4" : "Note:  Build from source occurs before build_from_folder",
-    "build_from_source" : {
-        "AWSNativeSDK-1.7.167-rev3-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Mac --package-root ../../package-system --clean",
-        "AWSNativeSDK-1.7.167-rev3-ios" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name iOS --package-root ../../package-system --clean",
-        "Lua-5.3.5-rev6-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Mac --package-root ../../package-system --clean",
-        "Lua-5.3.5-rev5-ios" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name iOS --package-root ../../package-system --clean",
-        "AwsIotDeviceSdkCpp-1.12.2-rev1-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Mac --package-root ../../package-system --clean",
-        "etc2comp-9cd0f9cae0-rev1-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/etc2comp --platform-name Mac --package-root ../../package-system --clean",
-        "freetype-2.10.4.9-mac" : "package-system/FreeType2/build_package_image.py --platform mac",
-        "freetype-2.10.4.9-ios" : "package-system/FreeType2/build_package_image.py --platform ios",
+    "build_from_source": {
+        "AWSNativeSDK-1.7.167-rev3-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Mac --package-root ../../package-system --clean",
+        "AWSNativeSDK-1.7.167-rev3-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name iOS --package-root ../../package-system --clean",
+        "Lua-5.3.5-rev6-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Mac --package-root ../../package-system --clean",
+        "Lua-5.3.5-rev5-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name iOS --package-root ../../package-system --clean",
+        "AwsIotDeviceSdkCpp-1.12.2-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Mac --package-root ../../package-system --clean",
+        "etc2comp-9cd0f9cae0-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/etc2comp --platform-name Mac --package-root ../../package-system --clean",
+        "freetype-2.10.4.9-mac": "package-system/FreeType2/build_package_image.py --platform mac",
+        "freetype-2.10.4.9-ios": "package-system/FreeType2/build_package_image.py --platform ios",
         "googlebenchmark-1.5.0-rev2-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name iOS --package-root ../../package-system --clean",
         "googlebenchmark-1.5.0-rev2-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name iOS --package-root ../../package-system --clean",
         "googlebenchmark-1.5.0-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Mac --package-root ../../package-system --clean",
         "googlebenchmark-1.5.0-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Mac --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name iOS --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name iOS --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Mac --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Mac --package-root ../../package-system --clean",
+        "ISPCTexComp-36b80aa-rev1-mac": "package-system/ISPCTexComp/build_package_image.py",
         "libsamplerate-0.2.1-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Mac --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Mac --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name iOS --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name iOS --package-root ../../package-system --clean",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL/build_package_image.py",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL/build_package_image.py",
@@ -31,28 +32,29 @@
         "squish-ccr-deb557d-rev1-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/squish-ccr --platform-name Mac --package-root ../../package-system --clean",
         "squish-ccr-deb557d-rev1-mac" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/squish-ccr --platform-name Mac --package-root ../../package-system --clean",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Mac --package-root ../../package-system --clean",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Mac --package-root ../../package-system --clean",
         "azslc-1.7.23-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Mac --package-root ../../package-system --clean",
         "azslc-1.7.23-rev2-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Mac --package-root ../../package-system --clean",
-        "tiff-4.2.0.10-mac" : "package-system/tiff/build_package_image.py --platform mac",
-        "tiff-4.2.0.10-ios" : "package-system/tiff/build_package_image.py --platform ios",
-        "python-3.7.10-rev1-darwin" : "package-system/python/build_package_image.py",
+        "tiff-4.2.0.10-mac": "package-system/tiff/build_package_image.py --platform mac",
+        "tiff-4.2.0.10-ios": "package-system/tiff/build_package_image.py --platform ios",
+        "python-3.7.10-rev1-darwin": "package-system/python/build_package_image.py",
         "mcpp-2.7.2_az.1-rev1-mac": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
         "mcpp-2.7.2_az.1-rev1-mac": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
         "mikkelsen-1.0.0.4-mac": "package-system/mikkelsen/build_package_image.py --platform mac",
         "mikkelsen-1.0.0.4-mac": "package-system/mikkelsen/build_package_image.py --platform mac",
         "mikkelsen-1.0.0.4-ios": "package-system/mikkelsen/build_package_image.py --platform ios",
         "mikkelsen-1.0.0.4-ios": "package-system/mikkelsen/build_package_image.py --platform ios",
         "zlib-1.2.11-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Mac --package-root ../../package-system --clean",
         "zlib-1.2.11-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Mac --package-root ../../package-system --clean",
         "zlib-1.2.11-rev1-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name iOS --package-root ../../package-system --clean"
         "zlib-1.2.11-rev1-ios": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name iOS --package-root ../../package-system --clean"
     },
     },
-    "build_from_folder" : { 
-        "AWSNativeSDK-1.7.167-rev3-mac" : "package-system/AWSNativeSDK-mac",
-        "AWSNativeSDK-1.7.167-rev3-ios" : "package-system/AWSNativeSDK-ios",
+    "build_from_folder": {
+        "AWSNativeSDK-1.7.167-rev3-mac": "package-system/AWSNativeSDK-mac",
+        "AWSNativeSDK-1.7.167-rev3-ios": "package-system/AWSNativeSDK-ios",
         "Lua-5.3.5-rev6-mac": "package-system/Lua-mac",
         "Lua-5.3.5-rev6-mac": "package-system/Lua-mac",
         "Lua-5.3.5-rev5-ios": "package-system/Lua-ios",
         "Lua-5.3.5-rev5-ios": "package-system/Lua-ios",
         "AwsIotDeviceSdkCpp-1.12.2-rev1-mac": "package-system/AwsIotDeviceSdkCpp-mac",
         "AwsIotDeviceSdkCpp-1.12.2-rev1-mac": "package-system/AwsIotDeviceSdkCpp-mac",
-        "etc2comp-9cd0f9cae0-rev1-mac" : "package-system/etc2comp-mac",
-        "freetype-2.10.4.9-mac" : "package-system/FreeType2-mac",
-        "freetype-2.10.4.9-ios" : "package-system/FreeType2-ios",
+        "etc2comp-9cd0f9cae0-rev1-mac": "package-system/etc2comp-mac",
+        "freetype-2.10.4.9-mac": "package-system/FreeType2-mac",
+        "freetype-2.10.4.9-ios": "package-system/FreeType2-ios",
         "googlebenchmark-1.5.0-rev2-ios": "package-system/googlebenchmark-ios",
         "googlebenchmark-1.5.0-rev2-ios": "package-system/googlebenchmark-ios",
         "googlebenchmark-1.5.0-rev2-mac": "package-system/googlebenchmark-mac",
         "googlebenchmark-1.5.0-rev2-mac": "package-system/googlebenchmark-mac",
         "googletest-1.8.1-rev4-ios": "package-system/googletest-ios",
         "googletest-1.8.1-rev4-ios": "package-system/googletest-ios",
         "googletest-1.8.1-rev4-mac": "package-system/googletest-mac",
         "googletest-1.8.1-rev4-mac": "package-system/googletest-mac",
+        "ISPCTexComp-36b80aa-rev1-mac": "package-system/ISPCTexComp-mac",
         "libsamplerate-0.2.1-rev2-mac": "package-system/libsamplerate-mac",
         "libsamplerate-0.2.1-rev2-mac": "package-system/libsamplerate-mac",
         "libsamplerate-0.2.1-rev2-ios": "package-system/libsamplerate-ios",
         "libsamplerate-0.2.1-rev2-ios": "package-system/libsamplerate-ios",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL-mac",
         "OpenSSL-1.1.1b-rev2-mac": "package-system/OpenSSL-mac",
@@ -76,8 +78,8 @@
         "squish-ccr-deb557d-rev1-mac": "package-system/squish-ccr-mac",
         "squish-ccr-deb557d-rev1-mac": "package-system/squish-ccr-mac",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-mac": "package-system/DirectXShaderCompilerDxc-mac",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-mac": "package-system/DirectXShaderCompilerDxc-mac",
         "azslc-1.7.23-rev2-mac": "package-system/azslc-mac",
         "azslc-1.7.23-rev2-mac": "package-system/azslc-mac",
-        "SQLite-3.32.2-rev3-multiplatform" : "package-system/SQLite-multiplatform",
-        "xxhash-0.7.4-rev1-multiplatform":  "package-system/xxhash-multiplatform",
+        "SQLite-3.32.2-rev3-multiplatform": "package-system/SQLite-multiplatform",
+        "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
         "qt-5.15.2-rev5-mac": "package-system/qt-mac",
         "qt-5.15.2-rev5-mac": "package-system/qt-mac",
         "zlib-1.2.11-rev1-mac": "package-system/zlib-mac",
         "zlib-1.2.11-rev1-mac": "package-system/zlib-mac",
         "zlib-1.2.11-rev1-ios": "package-system/zlib-ios"
         "zlib-1.2.11-rev1-ios": "package-system/zlib-ios"

+ 18 - 16
package_build_list_host_linux.json

@@ -3,14 +3,15 @@
     "comment2" : "build_from_source is package name --> build script to call with params",
     "comment2" : "build_from_source is package name --> build script to call with params",
     "comment3" : "build_from_folder is package name --> folder containing built image of package",
     "comment3" : "build_from_folder is package name --> folder containing built image of package",
     "comment4" : "Note:  Build from source occurs before build_from_folder",
     "comment4" : "Note:  Build from source occurs before build_from_folder",
-    "build_from_source" : {
-        "AWSNativeSDK-1.7.167-rev5-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --package-root ../../package-system --clean",
-        "Lua-5.3.5-rev5-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Linux --package-root ../../package-system --clean",
-        "AwsIotDeviceSdkCpp-1.12.2-rev1-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux --package-root ../../package-system --clean",
-        "etc2comp-9cd0f9cae0-rev1-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/etc2comp --platform-name Linux --package-root ../../package-system --clean",
-        "freetype-2.10.4.9-linux" : "package-system/FreeType2/build_package_image.py --platform linux",
+    "build_from_source": {
+        "AWSNativeSDK-1.7.167-rev5-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --package-root ../../package-system --clean",
+        "Lua-5.3.5-rev5-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Linux --package-root ../../package-system --clean",
+        "AwsIotDeviceSdkCpp-1.12.2-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux --package-root ../../package-system --clean",
+        "etc2comp-9cd0f9cae0-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/etc2comp --platform-name Linux --package-root ../../package-system --clean",
+        "freetype-2.10.4.9-linux": "package-system/FreeType2/build_package_image.py --platform linux",
         "googlebenchmark-1.5.0-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Linux --package-root ../../package-system --clean",
         "googlebenchmark-1.5.0-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Linux --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Linux --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Linux --package-root ../../package-system --clean",
+        "ISPCTexComp-36b80aa-rev1-linux": "package-system/ISPCTexComp/build_package_image.py",
         "libsamplerate-0.2.1-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Linux --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Linux --package-root ../../package-system --clean",
         "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
         "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL/build_package_image.py",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL/build_package_image.py",
@@ -23,20 +24,21 @@
         "squish-ccr-deb557d-rev1-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/squish-ccr --platform-name Linux --package-root ../../package-system --clean",
         "squish-ccr-deb557d-rev1-linux" : "Scripts/extras/pull_and_build_from_git.py ../../package-system/squish-ccr --platform-name Linux --package-root ../../package-system --clean",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Linux --package-root ../../package-system --clean",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Linux --package-root ../../package-system --clean",
         "azslc-1.7.23-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux --package-root ../../package-system --clean",
         "azslc-1.7.23-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux --package-root ../../package-system --clean",
-        "tiff-4.2.0.10-linux" : "package-system/tiff/build_package_image.py --platform linux",
-        "python-3.7.10-rev2-linux" : "package-system/python/build_package_image.py",
+        "tiff-4.2.0.10-linux": "package-system/tiff/build_package_image.py --platform linux",
+        "python-3.7.10-rev2-linux": "package-system/python/build_package_image.py",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen/build_package_image.py",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen/build_package_image.py",
         "zlib-1.2.11-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Linux --package-root ../../package-system --clean"
         "zlib-1.2.11-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Linux --package-root ../../package-system --clean"
     },
     },
-    "build_from_folder" : {
-        "AWSGameLiftServerSDK-3.4.1-rev1-linux" : "package-system/AWSGameLiftServerSDK/linux",
-        "AWSNativeSDK-1.7.167-rev5-linux" : "package-system/AWSNativeSDK-linux",
+    "build_from_folder": {
+        "AWSGameLiftServerSDK-3.4.1-rev1-linux": "package-system/AWSGameLiftServerSDK/linux",
+        "AWSNativeSDK-1.7.167-rev5-linux": "package-system/AWSNativeSDK-linux",
         "Lua-5.3.5-rev5-linux": "package-system/Lua-linux",
         "Lua-5.3.5-rev5-linux": "package-system/Lua-linux",
         "AwsIotDeviceSdkCpp-1.12.2-rev1-linux": "package-system/AwsIotDeviceSdkCpp-linux",
         "AwsIotDeviceSdkCpp-1.12.2-rev1-linux": "package-system/AwsIotDeviceSdkCpp-linux",
-        "etc2comp-9cd0f9cae0-rev1-linux" : "package-system/etc2comp-linux",
-        "freetype-2.10.4.9-linux" : "package-system/FreeType2-linux",
+        "etc2comp-9cd0f9cae0-rev1-linux": "package-system/etc2comp-linux",
+        "freetype-2.10.4.9-linux": "package-system/FreeType2-linux",
         "googlebenchmark-1.5.0-rev2-linux": "package-system/googlebenchmark-linux",
         "googlebenchmark-1.5.0-rev2-linux": "package-system/googlebenchmark-linux",
         "googletest-1.8.1-rev4-linux": "package-system/googletest-linux",
         "googletest-1.8.1-rev4-linux": "package-system/googletest-linux",
+        "ISPCTexComp-36b80aa-rev1-linux": "package-system/ISPCTexComp-linux",
         "libsamplerate-0.2.1-rev2-linux": "package-system/libsamplerate-linux",
         "libsamplerate-0.2.1-rev2-linux": "package-system/libsamplerate-linux",
         "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp-linux",
         "mcpp-2.7.2_az.1-rev1-linux": "package-system/mcpp-linux",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL-linux",
         "OpenSSL-1.1.1b-rev2-linux": "package-system/OpenSSL-linux",
@@ -45,15 +47,15 @@
         "squish-ccr-deb557d-rev1-linux" : "package-system/squish-ccr-linux",
         "squish-ccr-deb557d-rev1-linux" : "package-system/squish-ccr-linux",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-linux": "package-system/DirectXShaderCompilerDxc-linux",
         "DirectXShaderCompilerDxc-1.6.2104-o3de-rev2-linux": "package-system/DirectXShaderCompilerDxc-linux",
         "azslc-1.7.23-rev2-linux": "package-system/azslc-linux",
         "azslc-1.7.23-rev2-linux": "package-system/azslc-linux",
-        "tiff-4.2.0.10-linux" : "package-system/tiff-linux",
-        "python-3.7.10-rev2-linux" : "package-system/python/linux_x64/package",
+        "tiff-4.2.0.10-linux": "package-system/tiff-linux",
+        "python-3.7.10-rev2-linux": "package-system/python/linux_x64/package",
         "PhysX-4.1.2.29882248-rev3-linux": "package-system/PhysX-linux",
         "PhysX-4.1.2.29882248-rev3-linux": "package-system/PhysX-linux",
         "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth-linux",
         "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth-linux",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen-linux",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen-linux",
         "poly2tri-7f0487a-rev1-linux": "package-system/poly2tri-linux",
         "poly2tri-7f0487a-rev1-linux": "package-system/poly2tri-linux",
         "v-hacd-2.3-1a49edf-rev1-linux": "package-system/v-hacd-linux",
         "v-hacd-2.3-1a49edf-rev1-linux": "package-system/v-hacd-linux",
         "unwind-1.2.1-linux": "package-system/unwind-linux",
         "unwind-1.2.1-linux": "package-system/unwind-linux",
-        "SQLite-3.32.2-rev3-multiplatform" : "package-system/SQLite-multiplatform",
+        "SQLite-3.32.2-rev3-multiplatform": "package-system/SQLite-multiplatform",
         "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
         "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
         "qt-5.15.2-rev5-linux": "package-system/qt-linux",
         "qt-5.15.2-rev5-linux": "package-system/qt-linux",
         "zlib-1.2.11-rev1-linux": "package-system/zlib-linux"
         "zlib-1.2.11-rev1-linux": "package-system/zlib-linux"

+ 2 - 1
package_build_list_host_windows.json

@@ -19,6 +19,7 @@
         "googlebenchmark-1.5.0-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Android --package-root ../../package-system --clean",
         "googlebenchmark-1.5.0-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googlebenchmark --platform-name Android --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Windows --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Windows --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Android --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Android --package-root ../../package-system --clean",
+        "ISPCTexComp-36b80aa-rev1-windows": "package-system/ISPCTexComp/build_package_image.py",
         "libsamplerate-0.2.1-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Windows --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Windows --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Android --package-root ../../package-system --custom-toolchain-file ../../Scripts/cmake/Platform/Android/Toolchain_android.cmake --clean",
         "libsamplerate-0.2.1-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Android --package-root ../../package-system --custom-toolchain-file ../../Scripts/cmake/Platform/Android/Toolchain_android.cmake --clean",
         "mcpp-2.7.2_az.1-rev1-windows": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
         "mcpp-2.7.2_az.1-rev1-windows": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
@@ -102,7 +103,7 @@
     "glad-2.0.0-beta-rev2-multiplatform": "package-system/glad-multiplatform",
     "glad-2.0.0-beta-rev2-multiplatform": "package-system/glad-multiplatform",
     "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
     "xxhash-0.7.4-rev1-multiplatform": "package-system/xxhash-multiplatform",
     "PVRTexTool-4.24.0-rev4-multiplatform": "package-system/PVRTexTool-multiplatform",
     "PVRTexTool-4.24.0-rev4-multiplatform": "package-system/PVRTexTool-multiplatform",
-    "ISPCTexComp-2021.3-rev1-windows": "package-system/ISPCTexComp-windows",
+    "ISPCTexComp-36b80aa-rev1-windows": "package-system/ISPCTexComp-windows",
     "qt-5.15.2-rev4-windows": "package-system/qt-windows",
     "qt-5.15.2-rev4-windows": "package-system/qt-windows",
     "Wwise-2021.1.0.7575-rev1-multiplatform": "package-system/Wwise-multiplatform",
     "Wwise-2021.1.0.7575-rev1-multiplatform": "package-system/Wwise-multiplatform",
     "zlib-1.2.11-rev1-android": "package-system/zlib-android",
     "zlib-1.2.11-rev1-android": "package-system/zlib-android",