Selaa lähdekoodia

Unify AWSNativeSDK 3P package for different OpenSSLs (#200)

* Initial updates for AWSNativeSDK

- Add aarch64 cross-compiling support
- Unify Dockerfile for linux to accept parameters for 20.04 vs 22.04 based docker images
- Update to combine openssl-1.1.1x and openssl-3.x based libraries into one package
- Update FindAWSNativeSDK.cmake to look inside the binary package for the openssl specific libraries
- Remove/Replace the -openssl-1/-openssl-3 suffixes to the package name
- Correct redundant folder-level creation in the installation script

Signed-off-by: Steve Pham <[email protected]>
Steve Pham 2 vuotta sitten
vanhempi
commit
25b10694e1

+ 17 - 20
package-system/AWSNativeSDK/Dockerfile.ubuntu.2004 → package-system/AWSNativeSDK/Dockerfile

@@ -5,12 +5,15 @@
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 #
 #
 
 
-# This docker file uses ubuntu 20.04 as the base image so that the AWS Native C++ libraries will use OpenSSL 3 as the base
-# for its dependencies
-#
 
 
-FROM public.ecr.aws/ubuntu/ubuntu:20.04_stable
- 
+ARG INPUT_ARCHITECTURE=amd64
+ARG INPUT_IMAGE=ubuntu:20.04
+ARG INPUT_DOCKER_BUILD_SCRIPT
+
+FROM ${INPUT_ARCHITECTURE}/${INPUT_IMAGE}
+
+ARG INPUT_DOCKER_BUILD_SCRIPT
+
 WORKDIR /data/workspace
 WORKDIR /data/workspace
 
 
 # Initilize apt cache
 # Initilize apt cache
@@ -19,18 +22,15 @@ RUN apt-get clean && apt-get update
 # Setup time zone and locale data (necessary for SSL and HTTPS packages)
 # Setup time zone and locale data (necessary for SSL and HTTPS packages)
 RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration
 RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration
 
 
-RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
-    dpkg-reconfigure --frontend=noninteractive locales && \
-    update-locale LANG=en_US.UTF-8
-
-ENV LANG=en_US.UTF-8
-
 # Install the development packages needed to build AWS Native C++ SDK
 # Install the development packages needed to build AWS Native C++ SDK
-RUN apt-get install -y cmake clang-12 ninja-build
-RUN apt-get install -y libssl-dev
-RUN apt-get install -y libssh-dev
-RUN apt-get install -y zlib1g-dev
-RUN apt-get install -y libcurl4-openssl-dev
+RUN apt-get install -y cmake \
+                       clang-12 \
+                       ninja-build \
+                       libssl-dev \
+                       libssh-dev \
+                       zlib1g-dev \
+                       libcurl4-openssl-dev
+
 
 
 # Prevent the copying of the src folder from being cached
 # Prevent the copying of the src folder from being cached
 ARG CACHEBUST=1
 ARG CACHEBUST=1
@@ -42,7 +42,4 @@ RUN cd /data/workspace && \
 COPY src  /data/workspace/src/
 COPY src  /data/workspace/src/
 
 
 # Copy the build script specific to this Docker script in order to execute the build
 # Copy the build script specific to this Docker script in order to execute the build
-COPY docker_build_aws_sdk.sh /data/workspace/
-
-
-
+COPY ${INPUT_DOCKER_BUILD_SCRIPT} /data/workspace/

+ 0 - 48
package-system/AWSNativeSDK/Dockerfile.ubuntu.2204

@@ -1,48 +0,0 @@
-#
-# 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
-#
-
-# This docker file uses ubuntu 22.04 as the base image so that the AWS Native C++ libraries will use OpenSSL 3 as the base
-# for its dependencies
-#
-
-FROM public.ecr.aws/ubuntu/ubuntu:22.04_stable
- 
-WORKDIR /data/workspace
-
-# Initilize apt cache
-RUN apt-get clean && apt-get update
-
-# Setup time zone and locale data (necessary for SSL and HTTPS packages)
-RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata locales keyboard-configuration
-
-RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
-    dpkg-reconfigure --frontend=noninteractive locales && \
-    update-locale LANG=en_US.UTF-8
-
-ENV LANG=en_US.UTF-8
-
-# Install the development packages needed to build AWS Native C++ SDK
-RUN apt-get install -y cmake clang-12 ninja-build
-RUN apt-get install -y libssl-dev
-RUN apt-get install -y libssh-dev
-RUN apt-get install -y zlib1g-dev
-RUN apt-get install -y libcurl4-openssl-dev
-
-# Prevent the copying of the src folder from being cached
-ARG CACHEBUST=1
-
-RUN cd /data/workspace && \
-    mkdir src
-
-# Copy the git synced source from the context base to this container
-COPY src  /data/workspace/src/
-
-# Copy the build script specific to this Docker script in order to execute the build
-COPY docker_build_aws_sdk.sh /data/workspace/
-
-
-

+ 11 - 2
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Linux

@@ -14,11 +14,20 @@ set(AWS_BASE_PATH ${CMAKE_CURRENT_LIST_DIR}/${AWSNATIVESDK_PACKAGE_NAME})
 # Include Path
 # Include Path
 set(AWSNATIVESDK_INCLUDE_PATH ${AWS_BASE_PATH}/include)
 set(AWSNATIVESDK_INCLUDE_PATH ${AWS_BASE_PATH}/include)
 
 
+# Determine the specific openssl-dependent lib/binary paths
+if ("${OPENSSL_VERSION}" STREQUAL "")
+    message(FATAL_ERROR "OpenSSL not detected. The OpenSSL dev package is required for O3DE")
+elseif ("${OPENSSL_VERSION}" VERSION_LESS "3.0.0")
+    set(SRC_OPENSSL_BASE openssl-1)
+else()
+    set(SRC_OPENSSL_BASE openssl-3)
+endif()
+
 # Determine the lib path
 # Determine the lib path
 if(LY_MONOLITHIC_GAME)
 if(LY_MONOLITHIC_GAME)
-    set(AWSNATIVE_SDK_LIB_PATH ${AWS_BASE_PATH}/lib/$<IF:$<CONFIG:Debug>,Debug,Release>)
+    set(AWSNATIVE_SDK_LIB_PATH ${AWS_BASE_PATH}/lib/${SRC_OPENSSL_BASE})
 else()
 else()
-    set(AWSNATIVE_SDK_LIB_PATH ${AWS_BASE_PATH}/bin/$<IF:$<CONFIG:Debug>,Debug,Release>)
+    set(AWSNATIVE_SDK_LIB_PATH ${AWS_BASE_PATH}/bin/${SRC_OPENSSL_BASE})
 endif()
 endif()
 
 
 # AWS Compile Definitions
 # AWS Compile Definitions

+ 205 - 0
package-system/AWSNativeSDK/build-linux.sh

@@ -0,0 +1,205 @@
+#!/bin/bash
+
+#
+# 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
+#
+
+# This script will utilize Docker to build on either AMD64 or AARCH64 architectures. The script will 
+# also build on both Ubuntu 20.04 (focal) and Ubuntu 22.04 (jammy) systems because of the dependencies
+# on OpenSSL 1.1.1 and Open 3.0 respectively
+
+DOCKER_IMAGE_NAME_BASE=aws_native_sdk
+DOCKER_BUILD_SCRIPT=docker_build_aws_sdk.sh
+
+# Determine the host architecture
+CURRENT_HOST_ARCH=$(uname -m)
+
+# Use the host architecture if not supplied
+TARGET_ARCH=${1:-$(uname -m)}
+
+# Prepare the target install path
+INSTALL_PACKAGE_PATH=${TEMP_FOLDER}/install/
+
+# If the host and target architecture does not match, make sure the necessary cross compilation packages are installed
+if [ "${CURRENT_HOST_ARCH}" != ${TARGET_ARCH} ]
+then
+    echo "Checking cross compiling requirements."
+    for package_check in docker-ce qemu binfmt-support qemu-user-static
+    do
+        echo "Checking package $package_check"
+        dpkg -s $package_check > /dev/null 2>&1
+        if [ $? -ne 0 ]
+        then
+            echo ""
+            echo "Missing package $package_check. Make sure to install it with your local package manager." 
+            echo ""
+            exit 1
+        fi
+    done
+
+    # Only cross compilation of an ARM64 image on an x86_64 host is supported
+    if [ "${TARGET_ARCH}" = "aarch64" ]
+    then
+        # Make sure qemu-aarch64 is installed properly
+        QEMU_AARCH_COUNT=$(update-binfmts --display | grep qemu-aarch64 | wc -l)
+        if [ $QEMU_AARCH_COUNT -eq 0 ]
+        then
+            echo ""
+            echo "QEMU aarch64 binary format not registered."
+            echo "Run the following command to register"
+            echo ""
+            echo "sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes"
+            echo ""
+            exit 1
+        fi
+        echo ""
+        echo "Cross compiling aarch64 on an amd64 machine validated."
+        echo ""
+    fi
+else
+    echo "Building ${TARGET_ARCH} natively."
+fi
+
+# Make sure docker is installed
+DOCKER_VERSION=$(docker --version)
+if [ $? -ne 0 ]
+then
+    echo "Required package docker is not installed"
+    echo "Follow instructions on https://docs.docker.com/engine/install/ubuntu/ to install docker properly"
+    exit 1
+fi
+echo "Detected Docker Version $DOCKER_VERSION"
+
+
+# Setup the docker arguments 
+if [ "${TARGET_ARCH}" = "x86_64" ]
+then
+    echo "Processing Docker for amd64"
+
+    DOCKER_INPUT_ARCHITECTURE=amd64
+    TARGET_DOCKER_PLATFORM_ARG=linux/amd64
+    DOCKER_BUILD_ARG=1
+
+elif [ "${TARGET_ARCH}" = "aarch64" ] 
+then
+    echo "Processing Docker for aarch64"
+
+    DOCKER_INPUT_ARCHITECTURE=arm64v8
+    TARGET_DOCKER_PLATFORM_ARG=linux/arm64/v8
+    DOCKER_BUILD_ARG=3
+else
+    echo "Unsupported architecture ${TARGET_ARCH}"
+    exit 1
+fi
+
+# Prepare to build on both Ubuntu 20.04 and Ubuntu 22.04 based docker images
+
+mkdir -p ${TEMP_FOLDER}
+cp -f ${DOCKER_BUILD_SCRIPT} ${TEMP_FOLDER}/
+
+# Args
+# $1 : Ubuntu version
+# $2 : Include
+# $3 : Docker run platform
+
+function execute_docker() {
+
+    # Determine the openssl version based on the ubuntu version (20.04/OpenSSL 1.1.1.x vs 22.04/OpenSSL 3.x)
+    if [ $1 = "20.04" ]
+    then
+        echo "Preparing for OpenSSL 1.1.1.x version"
+        BIN_SUBFOLDER_NAME=openssl-1
+    elif [ $1 = "22.04" ]
+    then
+        echo "Preparing for OpenSSL 3.x version"
+        BIN_SUBFOLDER_NAME=openssl-3
+    else
+        echo "Unsupported base build image ubuntu version ${1}"
+        exit 1
+    fi
+
+    # Build the Docker Image 
+    DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME_BASE}_${DOCKER_INPUT_ARCHITECTURE}_3p
+
+    echo "Building the docker build script for ${DOCKER_IMAGE_NAME_BASE} on ${DOCKER_INPUT_ARCHITECTURE} for Ubuntu $1"
+    echo ""
+    echo docker build --build-arg INPUT_DOCKER_BUILD_SCRIPT=${DOCKER_BUILD_SCRIPT} \
+                 --build-arg INPUT_ARCHITECTURE=${DOCKER_INPUT_ARCHITECTURE} \
+                 --build-arg INPUT_IMAGE=ubuntu:${1} \
+                 -f Dockerfile -t ${DOCKER_IMAGE_NAME}:latest temp 
+    docker build --build-arg INPUT_DOCKER_BUILD_SCRIPT=${DOCKER_BUILD_SCRIPT} \
+                 --build-arg INPUT_ARCHITECTURE=${DOCKER_INPUT_ARCHITECTURE} \
+                 --build-arg INPUT_IMAGE=ubuntu:${1} \
+                 -f Dockerfile -t ${DOCKER_IMAGE_NAME}:latest temp 
+    if [ $? -ne 0 ]
+    then
+        echo "Error occurred creating Docker image ${DOCKER_IMAGE_NAME}:latest." 
+        exit 1
+    fi
+
+    # Run the build script in the docker image
+    echo "Running build script in the docker image ${DOCKER_IMAGE_NAME}"
+    echo ""
+    docker run --platform ${TARGET_DOCKER_PLATFORM_ARG} \
+               --tty \
+               ${DOCKER_IMAGE_NAME}:latest /data/workspace/${DOCKER_BUILD_SCRIPT}
+    if [ $? -ne 0 ]
+    then
+        echo Failed to build from docker image ${DOCKER_IMAGE_NAME}:latest
+        echo "To log into and troubleshoot the docker container, run the following command:"
+        echo ""
+        echo "docker run --platform ${TARGET_DOCKER_PLATFORM_ARG} -it --tty ${DOCKER_IMAGE_NAME}:latest"
+        echo ""
+        exit 1
+    fi
+
+    echo "Build Complete"
+
+    # Copy the build artifacts from the docker image
+
+    # Capture the Docker Image ID
+    IMAGE_ID=$(docker images -q ${DOCKER_IMAGE_NAME}:latest)
+    if [ -z $IMAGE_ID ]
+    then
+        echo "Error: Cannot find Image ID for ${DOCKER_IMAGE_NAME}"
+        exit 1
+    fi
+
+    # Capture the container ID
+    echo "Capturing the Container ID"
+    CONTAINER_ID=$(docker container ls -l -q --filter "ancestor=${DOCKER_IMAGE_NAME}:latest")
+    if [ -z $CONTAINER_ID ]
+    then
+        echo "Error: Cannot find Container ID for Image ${DOCKER_IMAGE_NAME}"
+        exit 1
+    fi
+
+    DOCKER_BUILD_ROOT=/data/workspace/install
+
+    if [ ! -f ${INSTALL_PACKAGE_PATH}/include ]
+    then
+        docker cp $CONTAINER_ID:${DOCKER_BUILD_ROOT}/Static/include  ${INSTALL_PACKAGE_PATH}/
+    fi
+
+    docker cp $CONTAINER_ID:${DOCKER_BUILD_ROOT}/Static/lib  ${INSTALL_PACKAGE_PATH}/lib/${BIN_SUBFOLDER_NAME}
+    docker cp $CONTAINER_ID:${DOCKER_BUILD_ROOT}/Shared/lib  ${INSTALL_PACKAGE_PATH}/bin/${BIN_SUBFOLDER_NAME}
+}
+
+rm -rf ${INSTALL_PACKAGE_PATH}
+
+mkdir -p ${INSTALL_PACKAGE_PATH}
+mkdir -p ${INSTALL_PACKAGE_PATH}/lib
+mkdir -p ${INSTALL_PACKAGE_PATH}/bin
+
+# Build for Ubuntu 20.04
+execute_docker 20.04 
+
+# Build for Ubuntu 22.04
+execute_docker 22.04 
+
+echo "Build successful"
+
+exit 0

+ 0 - 97
package-system/AWSNativeSDK/build_AWSNativeSDK_linux.sh

@@ -1,97 +0,0 @@
-#!/bin/bash
-#
-# 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
-#
-
-# Read the Ubuntu and OpenSSL version from the command line
-UBUNTU_VERSION=$1
-OPENSSL_MAJOR_VERSION=$2
-
-if [ "$UBUNTU_VERSION" == "2004" ]
-then
-    echo "Preparing Docker Build based on Ubuntu 20.04 LTS"
-elif [ "$UBUNTU_VERSION" == "2204" ]
-then
-    echo "Preparing Docker Build based on Ubuntu 22.04 LTS"
-else
-    echo "Unsupported Ubuntu Version: $UBUNTU_VERSION"
-    exit 1
-fi
-
-if [ "$OPENSSL_MAJOR_VERSION" == "1" ]
-then
-    echo "Build based on OpenSSL 1.1.1"
-elif [ "$OPENSSL_MAJOR_VERSION" == "3" ]
-then
-    echo "Build based on OpenSSL 3.0"
-else
-    echo "Unsupported OpenSSL Major Version: $OPENSSL_MAJOR_VERSION"
-    exit 1
-fi
-
-# Make sure docker is installed
-DOCKER_VERSION=$(docker --version)
-if [ $? -ne 0 ]
-then
-    echo "Required package docker is not installed"
-    exit 1
-fi
-echo "Detected Docker Version $DOCKER_VERSION"
-
-# Prepare the docker file and use the temp folder as the context root
-cp Dockerfile.ubuntu.${UBUNTU_VERSION} temp/Dockerfile
-cp docker_build_aws_sdk.sh temp/
-
-
-pushd temp
-
-
-# Build the Docker Image
-echo "Building the docker build script"
-DOCKER_IMAGE_NAME=aws_native_sdk_ubuntu_${UBUNTU_VERSION}_openssl1
-docker build -t ${DOCKER_IMAGE_NAME}:latest . || (echo "Error occurred creating Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-# Capture the Docker Image ID
-IMAGE_ID=$(docker images -q ${DOCKER_IMAGE_NAME}:latest)
-if [ -z $IMAGE_ID ]
-then
-    echo "Error: Cannot find Image ID for ${DOCKER_IMAGE_NAME}"
-    exit 1
-fi
-
-# Run the Docker Image
-echo "Running docker build script"
-docker run --tty ${DOCKER_IMAGE_NAME}:latest ./docker_build_aws_sdk.sh $OPENSSL_MAJOR_VERSION || (echo "Error occurred running Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-echo "Capturing the Container ID"
-CONTAINER_ID=$(docker container ls -l -q --filter "ancestor=${DOCKER_IMAGE_NAME}:latest")
-if [ -z $CONTAINER_ID ]
-then
-    echo "Error: Cannot find Container ID for Image ${DOCKER_IMAGE_NAME}"
-    exit 1
-fi
-
-# Copy the build artifacts from the Docker Container
-echo "Copying the built contents from the docker container for image ${DOCKER_IMAGE_NAME}"
-
-rm -rf install
-mkdir install
-
-docker cp $CONTAINER_ID:/data/workspace/install/Debug_Static install/ || (echo "Error occurred copying Debug_Static artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Debug_Shared install/ || (echo "Error occurred copying Debug_Shared artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Release_Static install/ || (echo "Error occurred copying Release_Static artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Release_Shared install/ || (echo "Error occurred copying Release_Shared artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-# Clean up the docker image and container
-echo "Cleaning up containers"
-docker container rm $CONTAINER_ID || (echo "Error occurred trying to clean up container for image ${DOCKER_IMAGE_NAME}")
-
-echo "Cleaning up image"
-docker rmi $IMAGE_ID  || (echo "Error occurred trying to clean up image ${DOCKER_IMAGE_NAME}")
-
-popd
-
-exit 0

+ 0 - 97
package-system/AWSNativeSDK/build_AWSNativeSDK_linux_OpenSSL3.sh

@@ -1,97 +0,0 @@
-#!/bin/bash
-#
-# 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
-#
-
-# Read the Ubuntu and OpenSSL version from the command line
-UBUNTU_VERSION=$1
-OPENSSL_MAJOR_VERSION=$2
-
-if [ "$UBUNTU_VERSION" == "2004" ]
-then
-    echo "Preparing Docker Build based on Ubuntu 20.04 LTS"
-elif [ "$UBUNTU_VERSION" == "2204" ]
-then
-    echo "Preparing Docker Build based on Ubuntu 22.04 LTS"
-else
-    echo "Unsupported Ubuntu Version: $UBUNTU_VERSION"
-    exit 1
-endif 
-
-if [ "$OPENSSL_MAJOR_VERSION" == "1" ]
-then
-    echo "Build based on OpenSSL 1.1.1"
-elif [ "$OPENSSL_MAJOR_VERSION" == "3" ]
-then
-    echo "Build based on OpenSSL 3.0"
-else
-    echo "Unsupported OpenSSL Major Version: $OPENSSL_MAJOR_VERSION"
-    exit 1
-endif 
-
-# Make sure docker is installed
-DOCKER_VERSION=$(docker --version)
-if [ $? -ne 0 ]
-then
-    echo "Required package docker is not installed"
-    exit 1
-fi
-echo "Detected Docker Version $DOCKER_VERSION"
-
-# Prepare the docker file and use the temp folder as the context root
-cp Dockerfile.ubuntu.${UBUNTU_VERSION} temp/Dockerfile
-cp docker_build_aws_sdk.sh temp/
-
-
-pushd temp
-
-
-# Build the Docker Image
-echo "Building the docker build script"
-DOCKER_IMAGE_NAME=aws_native_sdk_ubuntu_${UBUNTU_VERSION}_openssl1
-docker build -t ${DOCKER_IMAGE_NAME}:latest . || (echo "Error occurred creating Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-# Capture the Docker Image ID
-IMAGE_ID=$(docker images -q ${DOCKER_IMAGE_NAME}:latest)
-if [ -z $IMAGE_ID ]
-then
-    echo "Error: Cannot find Image ID for ${DOCKER_IMAGE_NAME}"
-    exit 1
-fi
-
-# Run the Docker Image
-echo "Running docker build script"
-docker run --tty ${DOCKER_IMAGE_NAME}:latest ./docker_build_aws_sdk.sh $OPENSSL_MAJOR_VERSION || (echo "Error occurred running Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-echo "Capturing the Container ID"
-CONTAINER_ID=$(docker container ls -l -q --filter "ancestor=${DOCKER_IMAGE_NAME}:latest")
-if [ -z $CONTAINER_ID ]
-then
-    echo "Error: Cannot find Container ID for Image ${DOCKER_IMAGE_NAME}"
-    exit 1
-fi
-
-# Copy the build artifacts from the Docker Container
-echo "Copying the built contents from the docker container for image ${DOCKER_IMAGE_NAME}"
-
-rm -rf install
-mkdir install
-
-docker cp $CONTAINER_ID:/data/workspace/install/Debug_Static install/ || (echo "Error occurred copying Debug_Static artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Debug_Shared install/ || (echo "Error occurred copying Debug_Shared artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Release_Static install/ || (echo "Error occurred copying Release_Static artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-docker cp $CONTAINER_ID:/data/workspace/install/Release_Shared install/ || (echo "Error occurred copying Release_Shared artifacts from Docker image ${DOCKER_IMAGE_NAME}:latest." ; exit 1)
-
-# Clean up the docker image and container
-echo "Cleaning up containers"
-docker container rm $CONTAINER_ID || (echo "Error occurred trying to clean up container for image ${DOCKER_IMAGE_NAME}")
-
-echo "Cleaning up image"
-docker rmi $IMAGE_ID  || (echo "Error occurred trying to clean up image ${DOCKER_IMAGE_NAME}")
-
-popd
-
-exit 0

+ 12 - 11
package-system/AWSNativeSDK/build_config.json

@@ -60,29 +60,30 @@
          }
          }
       },
       },
       "Linux":{
       "Linux":{
-         "Linux-OpenSSL-1":{
-            "package_version":"1.9.50-rev2",
+         "Linux":{
+            "package_version":"1.9.50-rev3",
+            "patch_file":"AWSNativeSDK-1.9.50-linux-openssl3.patch",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "custom_build_cmd": [
             "custom_build_cmd": [
-               "./build_AWSNativeSDK_linux.sh 2004 1"
+               "./build-linux.sh",
+               "x86_64"
             ],
             ],
             "custom_install_cmd": [
             "custom_install_cmd": [
-               "./install_AWSNativeSDK_linux.sh"
+               "./install-linux.sh"
             ]
             ]
          },
          },
-         "Linux-OpenSSL-3":{
-            "package_version":"1.9.50-rev2",
+         "Linux-aarch64":{
+            "package_version":"1.9.50-rev3",
             "patch_file":"AWSNativeSDK-1.9.50-linux-openssl3.patch",
             "patch_file":"AWSNativeSDK-1.9.50-linux-openssl3.patch",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "custom_build_cmd": [
             "custom_build_cmd": [
-               "./build_AWSNativeSDK_linux.sh 2204 3"
+               "./build-linux.sh",
+               "aarch64"
             ],
             ],
             "custom_install_cmd": [
             "custom_install_cmd": [
-               "./install_AWSNativeSDK_linux.sh"
+               "./install-linux.sh"
             ]
             ]
-         },
-	 "Linux-OpenSSL-1-aarch64": "@Linux-OpenSSL-1",
-	 "Linux-OpenSSL-3-aarch64": "@Linux-OpenSSL-3"
+         }
       }
       }
    }
    }
 }
 }

+ 32 - 53
package-system/AWSNativeSDK/docker_build_aws_sdk.sh

@@ -6,38 +6,6 @@
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 #
 #
 
 
-
-# Make sure we have all the required dev packages
-REQUIRED_DEV_PACKAGES="zlib1g-dev libssh-dev libssl-dev libcurl4-openssl-dev"
-ALL_PACKAGES=`apt list 2>/dev/null`
-for req_package in $REQUIRED_DEV_PACKAGES
-do
-    PACKAGE_COUNT=`echo $ALL_PACKAGES | grep $req_package | wc -l`
-    if [[ $PACKAGE_COUNT -eq 0 ]]; then
-        echo Missing required package $req_package
-        exit 1
-    fi
-done
-
-
-# Validate the expected version of OpenSSL for this script from the argument
-EXPECTED_OPENSSL_MAJOR=$1
-if [ -z $EXPECTED_OPENSSL_MAJOR ]
-then
-    echo "Missing OpenSSL Major version argument"
-    exit 1
-fi
-
-OPENSSL_MAJORVERSION=`openssl version | awk '{print $2}' | awk '{print substr($0,1,1)}'`
-if [ $OPENSSL_MAJORVERSION -eq $EXPECTED_OPENSSL_MAJOR ]
-then
-    echo "Validated OpenSSL version $OPENSSL_MAJORVERSION == $EXPECTED_OPENSSL_MAJOR"
-else
-    echo "Error, expected OpenSSL major version $EXPECTED_OPENSSL_MAJOR, but got $OPENSSL_MAJORVERSION"
-    exit 1
-fi
-
-
 # Validate the src path
 # Validate the src path
 src_path=src
 src_path=src
 if [ ! -d $src_path ]
 if [ ! -d $src_path ]
@@ -61,8 +29,8 @@ mkdir $inst_path
 
 
 
 
 configure_and_build() {
 configure_and_build() {
-    build_type=$1
-    lib_type=$2
+
+    lib_type=$1
     build_shared=OFF
     build_shared=OFF
     if [ "$lib_type" == "Shared" ]
     if [ "$lib_type" == "Shared" ]
     then
     then
@@ -70,9 +38,12 @@ configure_and_build() {
     fi
     fi
 
 
     echo "CMake Configure $build_type $lib_type"
     echo "CMake Configure $build_type $lib_type"
-    CC=/usr/lib/llvm-12/bin/clang CXX=/usr/lib/llvm-12/bin/clang++ cmake -S "$src_path" -B "$bld_path/${build_type}_${lib_type}" \
-          -G "Unix Makefiles" \
+
+    cmake -S "$src_path" -B "$bld_path/${lib_type}" \
+          -G "Ninja" \
           -DTARGET_ARCH=LINUX \
           -DTARGET_ARCH=LINUX \
+          -DCMAKE_C_COMPILER=/usr/lib/llvm-12/bin/clang \
+          -DCMAKE_CXX_COMPILER=/usr/lib/llvm-12/bin/clang++ \
           -DCMAKE_CXX_STANDARD=17 \
           -DCMAKE_CXX_STANDARD=17 \
           -DCPP_STANDARD=17 \
           -DCPP_STANDARD=17 \
           -DCMAKE_C_FLAGS="-fPIC" \
           -DCMAKE_C_FLAGS="-fPIC" \
@@ -82,31 +53,39 @@ configure_and_build() {
           -DCUSTOM_MEMORY_MANAGEMENT=ON \
           -DCUSTOM_MEMORY_MANAGEMENT=ON \
           -DBUILD_ONLY="access-management;cognito-identity;cognito-idp;core;devicefarm;dynamodb;gamelift;identity-management;kinesis;lambda;mobileanalytics;queues;s3;sns;sqs;sts;transfer" \
           -DBUILD_ONLY="access-management;cognito-identity;cognito-idp;core;devicefarm;dynamodb;gamelift;identity-management;kinesis;lambda;mobileanalytics;queues;s3;sns;sqs;sts;transfer" \
           -DBUILD_SHARED_LIBS=$build_shared \
           -DBUILD_SHARED_LIBS=$build_shared \
-          -DCMAKE_BUILD_TYPE=$build_type \
+          -DCMAKE_BUILD_TYPE=Release \
           -DCMAKE_INSTALL_BINDIR="bin" \
           -DCMAKE_INSTALL_BINDIR="bin" \
-          -DCMAKE_INSTALL_LIBDIR="lib" || (echo "CMake Configure $build_type $lib_type failed" ; exit 1)
-
-    echo "CMake Build $build_type $lib_type to $bld_path/${build_type}_${lib_type}"
+          -DCMAKE_INSTALL_LIBDIR="lib" 
+    if [ $? -ne 0 ]
+    then
+        echo "Error generating AWS Native SDK build" 
+        exit 1
+    fi          
 
 
-    cmake --build "$bld_path/${build_type}_${lib_type}" -j 12 || (echo "CMake Build $build_type $lib_type to $bld_path/${build_type}_${lib_type} failed" ; exit 1)
+    echo "CMake Build $build_type $lib_type to $bld_path/${lib_type}"
+    cmake --build "$bld_path/${lib_type}"
+    if [ $? -ne 0 ]
+    then
+        echo "Error building the ${lib_type} AWS Native SDK libraries"
+        exit 1
+    fi          
 
 
-    cmake --install "$bld_path/${build_type}_${lib_type}" --prefix "$inst_path/${build_type}_${lib_type}" || (echo "CMake Install $build_type $lib_type to $inst_path/${build_type}_${lib_type} failed" ; exit 1)
+    echo "CMake Install $build_type $lib_type to $inst_path/${lib_type}"
+    cmake --install "$bld_path/${lib_type}" --prefix "$inst_path/${lib_type}"
+    if [ $? -ne 0 ]
+    then
+        echo "Error installing the ${lib_type} AWS Native SDK libraries" 
+        exit 1
+    fi          
 
 
 }
 }
 
 
-# Debug Shared
-configure_and_build Debug Shared || exit 1
+# Shared
+configure_and_build Shared
 
 
-# Debug Static
-configure_and_build Debug Static || exit 1
-
-# Release Shared
-configure_and_build Release Shared || exit 1
-
-# Release Static
-configure_and_build Release Static || exit 1
+# Static
+configure_and_build Static
 
 
 echo "Custom Build for AWSNativeSDK finished successfully"
 echo "Custom Build for AWSNativeSDK finished successfully"
 
 
-
 exit 0
 exit 0

+ 75 - 0
package-system/AWSNativeSDK/install-linux.sh

@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# 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
+#
+
+echo "TEMP_FOLDER=${TEMP_FOLDER}"
+echo "TARGET_INSTALL_ROOT=${TARGET_INSTALL_ROOT}"
+
+SRC_PATH=${TEMP_FOLDER}/src
+BLD_PATH=${TEMP_FOLDER}/build
+INSTALL_PATH=${TEMP_FOLDER}/install
+
+
+# Copy the include folders to the target root folder
+OUT_INCLUDE_PATH=$TARGET_INSTALL_ROOT/include
+
+echo "Copying include headers to ${OUT_INCLUDE_PATH}"
+mkdir -p ${OUT_INCLUDE_PATH}
+cp -f -R "${INSTALL_PATH}/include/"* ${OUT_INCLUDE_PATH}/ 
+if [ $? -ne 0 ]
+then
+    echo "Copying include headers to ${OUT_INCLUDE_PATH} failed."
+    exit 1
+fi
+
+
+# Copy the license file to the target installation root folder
+echo "Copying LICENSE.txt to ${TARGET_INSTALL_ROOT}"
+cp -f ${SRC_PATH}/LICENSE.txt ${TARGET_INSTALL_ROOT}/
+if [ $? -ne 0 ]
+then
+    echo "Copying LICENSE.txt to ${TARGET_INSTALL_ROOT} failed."
+    exit 1
+fi
+
+copy_shared_and_static_libs() {
+
+    local OPENSSL_LABEL=$1
+
+    # Copy the shared libraries to the bin folder
+    OUT_BIN_PATH=${TARGET_INSTALL_ROOT}/bin
+    echo "Copying shared libraries (.so) to ${OUT_BIN_PATH}"
+
+    mkdir -p ${OUT_BIN_PATH}
+    cp -f -R "${INSTALL_PATH}/bin/${OPENSSL_LABEL}" ${OUT_BIN_PATH}
+    if [ $? -ne 0 ]
+    then
+        echo "Copying shared libraries (.so) to ${OUT_BIN_PATH} failed."
+        exit 1
+    fi
+
+    # Copy the static libraries to the lib folder
+    OUT_LIB_PATH=${TARGET_INSTALL_ROOT}/lib
+    echo "Copying static libraries (.a) to ${OUT_LIB_PATH}"
+
+    mkdir -p ${OUT_LIB_PATH}
+    cp -f -R "${INSTALL_PATH}/lib/${OPENSSL_LABEL}" ${OUT_LIB_PATH}
+    if [ $? -ne 0 ]
+    then
+        echo "Copying static libraries (.a) to ${OUT_LIB_PATH} failed."
+        exit 1
+    fi
+
+}
+
+copy_shared_and_static_libs openssl-1
+
+copy_shared_and_static_libs openssl-3
+
+echo "Custom Install for AWSNativeSDK finished successfully"
+
+exit 0

+ 0 - 46
package-system/AWSNativeSDK/install_AWSNativeSDK_linux.sh

@@ -1,46 +0,0 @@
-#!/bin/bash
-#
-# 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
-#
-
-src_path=temp/src
-bld_path=temp/build
-inst_path=temp/install
-
-out_bin_path=$TARGET_INSTALL_ROOT/bin
-mkdir -p $out_bin_path/Debug
-mkdir -p $out_bin_path/Release
-
-out_include_path=$TARGET_INSTALL_ROOT/include
-mkdir -p $out_include_path
-
-out_lib_path=$TARGET_INSTALL_ROOT/lib
-mkdir -p $out_lib_path/Debug
-mkdir -p $out_lib_path/Release
-
-copy_shared_and_static_libs() {
-    local bld_type=$1
-    echo "Copying shared .so to $out_bin_path/$bld_type"
-    cp -f "$inst_path/${bld_type}_Shared/lib/"*".so"* $out_bin_path/$bld_type/ || (echo "Copying shared .so to $out_bin_path/$bld_type failed" ; exit 1)
-
-    echo "Copying static .a to $out_lib_path/$bld_type"
-    cp -f "$inst_path/${bld_type}_Static/lib/"*".a" $out_lib_path/$bld_type/ || (echo "Copying static .a to $out_lib_path/$bld_type failed" ; exit 1)
-}
-
-# Debug
-copy_shared_and_static_libs Debug || exit 1
-
-# Release
-copy_shared_and_static_libs Release || exit 1
-
-echo "Copying include headers to $out_include_path"
-cp -f -R "$inst_path/Release_Static/include/"* $out_include_path/ || (echo "Copying include headers to $out_include_path failed" ; exit 1)
-
-echo "Copying LICENSE.txt to $TARGET_INSTALL_ROOT"
-cp -f $src_path/LICENSE.txt $TARGET_INSTALL_ROOT/ || (echo "Copying LICENSE.txt to $TARGET_INSTALL_ROOT failed" ; exit 1)
-
-echo "Custom Install for AWSNativeSDK finished successfully"
-exit 0

+ 0 - 46
package-system/AWSNativeSDK/install_AWSNativeSDK_linux_OpenSSL3.sh

@@ -1,46 +0,0 @@
-#!/bin/bash
-#
-# 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
-#
-
-src_path=temp/src
-bld_path=temp/build
-inst_path=temp/install
-
-out_bin_path=$TARGET_INSTALL_ROOT/bin
-mkdir -p $out_bin_path/Debug
-mkdir -p $out_bin_path/Release
-
-out_include_path=$TARGET_INSTALL_ROOT/include
-mkdir -p $out_include_path
-
-out_lib_path=$TARGET_INSTALL_ROOT/lib
-mkdir -p $out_lib_path/Debug
-mkdir -p $out_lib_path/Release
-
-copy_shared_and_static_libs() {
-    local bld_type=$1
-    echo "Copying shared .so to $out_bin_path/$bld_type"
-    cp -f "$inst_path/${bld_type}_Shared/lib/"*".so"* $out_bin_path/$bld_type/ || (echo "Copying shared .so to $out_bin_path/$bld_type failed" ; exit 1)
-
-    echo "Copying static .a to $out_lib_path/$bld_type"
-    cp -f "$inst_path/${bld_type}_Static/lib/"*".a" $out_lib_path/$bld_type/ || (echo "Copying static .a to $out_lib_path/$bld_type failed" ; exit 1)
-}
-
-# Debug
-copy_shared_and_static_libs Debug || exit 1
-
-# Release
-copy_shared_and_static_libs Release || exit 1
-
-echo "Copying include headers to $out_include_path"
-cp -f -R "$inst_path/Release_Static/include/"* $out_include_path/ || (echo "Copying include headers to $out_include_path failed" ; exit 1)
-
-echo "Copying LICENSE.txt to $TARGET_INSTALL_ROOT"
-cp -f $src_path/LICENSE.txt $TARGET_INSTALL_ROOT/ || (echo "Copying LICENSE.txt to $TARGET_INSTALL_ROOT failed" ; exit 1)
-
-echo "Custom Install for AWSNativeSDK finished successfully"
-exit 0

+ 2 - 4
package_build_list_host_linux-aarch64.json

@@ -8,8 +8,7 @@
         "astc-encoder-3.2-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/astc-encoder --platform-name Linux-aarch64 --clean",
         "astc-encoder-3.2-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/astc-encoder --platform-name Linux-aarch64 --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux-aarch64 --clean",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux-aarch64 --clean",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-1-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-OpenSSL-1-aarch64 --clean",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-3-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-OpenSSL-3-aarch64 --clean",
+        "AWSNativeSDK-1.9.50-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean",
         "azslc-1.8.15-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux-aarch64 --clean",
         "azslc-1.8.15-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux-aarch64 --clean",
         "cityhash-1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux-aarch64 --clean",
         "cityhash-1.1-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux-aarch64 --clean",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Linux-aarch64 --clean",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Linux-aarch64 --clean",
@@ -48,8 +47,7 @@
         "astc-encoder-3.2-rev3-linux-aarch64": "package-system/astc-encoder/temp/astc-encoder-linux-aarch64",
         "astc-encoder-3.2-rev3-linux-aarch64": "package-system/astc-encoder/temp/astc-encoder-linux-aarch64",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "package-system/AwsIotDeviceSdkCpp/temp/AwsIotDeviceSdkCpp-linux-aarch64",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux-aarch64": "package-system/AwsIotDeviceSdkCpp/temp/AwsIotDeviceSdkCpp-linux-aarch64",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-1-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-openssl-1-aarch64",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-3-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-openssl-3-aarch64",
+        "AWSNativeSDK-1.9.50-rev3-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64",
         "azslc-1.8.15-rev1-linux-aarch64": "package-system/azslc/temp/azslc-linux-aarch64",
         "azslc-1.8.15-rev1-linux-aarch64": "package-system/azslc/temp/azslc-linux-aarch64",
         "cityhash-1.1-rev1-linux-aarch64": "package-system/cityhash/temp/cityhash-linux-aarch64",
         "cityhash-1.1-rev1-linux-aarch64": "package-system/cityhash/temp/cityhash-linux-aarch64",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux-aarch64": "package-system/DirectXShaderCompiler/temp/DirectXShaderCompilerDxc-linux-aarch64",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux-aarch64": "package-system/DirectXShaderCompiler/temp/DirectXShaderCompilerDxc-linux-aarch64",

+ 4 - 4
package_build_list_host_linux.json

@@ -7,8 +7,8 @@
         "assimp-5.2.5-rev1-linux":  "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux --package-root ../../package-system --clean",
         "assimp-5.2.5-rev1-linux":  "Scripts/extras/pull_and_build_from_git.py ../../package-system/assimp --platform-name Linux --package-root ../../package-system --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux-aarch64 --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSGameLiftServerSDK --platform-name Linux --clean",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-1": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-OpenSSL-1 --package-root ../../package-system/AWSNativeSDK/temp --clean",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-3": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-OpenSSL-3 --package-root ../../package-system/AWSNativeSDK/temp --clean",
+        "AWSNativeSDK-1.9.50-rev3-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --clean",
+        "AWSNativeSDK-1.9.50-rev3-linux-aarch64": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux-aarch64 --clean",
         "cityhash-1.1-rev1-linux":  "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux --clean",
         "cityhash-1.1-rev1-linux":  "Scripts/extras/pull_and_build_from_git.py ../../package-system/cityhash --platform-name Linux --clean",
         "Lua-5.4.4-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Linux --package-root ../../package-system/Lua/temp --clean",
         "Lua-5.4.4-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Lua --platform-name Linux --package-root ../../package-system/Lua/temp --clean",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux --package-root ../../package-system --clean",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AwsIotDeviceSdkCpp --platform-name Linux --package-root ../../package-system --clean",
@@ -50,8 +50,8 @@
         "assimp-5.2.5-rev1-linux": "package-system/assimp-linux",
         "assimp-5.2.5-rev1-linux": "package-system/assimp-linux",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64",
         "AWSGameLiftServerSDK-5.0.0-rev2-linux-aarch64": "package-system/AWSGameLiftServerSDK/temp/AWSGameLiftServerSDK-linux-aarch64",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-1": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-openssl-1",
-        "AWSNativeSDK-1.9.50-rev2-linux-openssl-3": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-openssl-3",
+        "AWSNativeSDK-1.9.50-rev3-linux": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux",
+        "AWSNativeSDK-1.9.50-rev3-linux-aarch64": "package-system/AWSNativeSDK/temp/AWSNativeSDK-linux-aarch64",
         "cityhash-1.1-rev1-linux": "package-system/cityhash/temp/cityhash-linux",
         "cityhash-1.1-rev1-linux": "package-system/cityhash/temp/cityhash-linux",
         "Lua-5.4.4-rev1-linux": "package-system/Lua/temp/Lua-linux",
         "Lua-5.4.4-rev1-linux": "package-system/Lua/temp/Lua-linux",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux": "package-system/AwsIotDeviceSdkCpp-linux",
         "AwsIotDeviceSdkCpp-1.15.2-rev1-linux": "package-system/AwsIotDeviceSdkCpp-linux",