Răsfoiți Sursa

Upgrade Linux AWSNativeSDK to 1.9.50 (#52)

* Upgrade Linux AWSNativeSDK to 1.9.50
* Update to use clang 12 and cleanup find cmake
Vincent Liu 3 ani în urmă
părinte
comite
a71dafacbd

+ 21 - 91
package-system/AWSNativeSDK/FindAWSNativeSDK.cmake.Linux

@@ -80,68 +80,40 @@ function(ly_declare_aws_library)
 endfunction()
 endfunction()
 
 
 
 
-#### Common ####
-if(LY_MONOLITHIC_GAME)
-    ly_declare_aws_library(
-        NAME 
-            Common
-        LIB_FILE 
-            aws-c-common
-    )       
-else()
-    ly_declare_aws_library(
-        NAME 
-            Common
-        LIB_FILE 
-            aws-c-common
-        BUILD_DEPENDENCIES
-            ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-common.so.0unstable
-    )       
-endif()
-
-#### Checksums ####
-ly_declare_aws_library(
-    NAME 
-        Checksums
-    LIB_FILE 
-        aws-checksums
+#### Core ####
+set(CORE_STATIC_LIBS
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-crt-cpp.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-s3.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-auth.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-mqtt.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-http.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-event-stream.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-io.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-checksums.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-compression.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-cal.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-common.a
+    ${AWSNATIVE_SDK_LIB_PATH}/libs2n.a
 )
 )
 
 
-#### EventStream ####
 if(LY_MONOLITHIC_GAME)
 if(LY_MONOLITHIC_GAME)
     ly_declare_aws_library(
     ly_declare_aws_library(
         NAME 
         NAME 
-            EventStream
+            Core
         LIB_FILE 
         LIB_FILE 
-            aws-c-event-stream
-        BUILD_DEPENDENCIES
-            3rdParty::AWSNativeSDK::Checksums
+            aws-cpp-sdk-core
+        BUILD_DEPENDENCIES 
+            ${CORE_STATIC_LIBS}
     )
     )
 else()
 else()
     ly_declare_aws_library(
     ly_declare_aws_library(
         NAME 
         NAME 
-            EventStream
+            Core
         LIB_FILE 
         LIB_FILE 
-            aws-c-event-stream
-        BUILD_DEPENDENCIES
-            3rdParty::AWSNativeSDK::Checksums
-            ${AWSNATIVE_SDK_LIB_PATH}/libaws-c-event-stream.so.0unstable
-
+            aws-cpp-sdk-core
     )
     )
 endif()
 endif()
 
 
-#### Core ####
-ly_declare_aws_library(
-    NAME 
-        Core
-    LIB_FILE 
-        aws-cpp-sdk-core
-    BUILD_DEPENDENCIES 
-        3rdParty::AWSNativeSDK::EventStream
-        3rdParty::AWSNativeSDK::Checksums
-        3rdParty::AWSNativeSDK::Common
-)
-
 #### AccessManagement ####
 #### AccessManagement ####
 ly_declare_aws_library(
 ly_declare_aws_library(
     NAME 
     NAME 
@@ -274,46 +246,6 @@ ly_declare_aws_library(
 #########
 #########
 ######### Grouping Definitions #########
 ######### Grouping Definitions #########
 #########
 #########
-
-
-#### Dependencies ####
-ly_declare_aws_library(
-    NAME 
-        Dependencies
-    BUILD_DEPENDENCIES 
-        3rdParty::AWSNativeSDK::EventStream
-        3rdParty::AWSNativeSDK::Checksums
-        3rdParty::AWSNativeSDK::Common
-)
-
-#### IdentityMetrics ####
-ly_declare_aws_library(
-    NAME 
-        IdentityMetrics
-    BUILD_DEPENDENCIES 
-        3rdParty::AWSNativeSDK::CognitoIdentity
-        3rdParty::AWSNativeSDK::CognitoIdp
-        3rdParty::AWSNativeSDK::IdentityManagement
-        3rdParty::AWSNativeSDK::MobileAnalytics
-        3rdParty::AWSNativeSDK::STS
-        3rdParty::AWSNativeSDK::Core
-        3rdParty::AWSNativeSDK::Dependencies
-)
-
-#### IdentityLambda ####
-ly_declare_aws_library(
-    NAME 
-        IdentityLambda
-    BUILD_DEPENDENCIES 
-        3rdParty::AWSNativeSDK::CognitoIdentity
-        3rdParty::AWSNativeSDK::CognitoIdp
-        3rdParty::AWSNativeSDK::IdentityManagement
-        3rdParty::AWSNativeSDK::Lambda
-        3rdParty::AWSNativeSDK::STS
-        3rdParty::AWSNativeSDK::Core
-        3rdParty::AWSNativeSDK::Dependencies
-)
-
 #### GameLiftClient ####
 #### GameLiftClient ####
 ly_declare_aws_library(
 ly_declare_aws_library(
     NAME 
     NAME 
@@ -321,7 +253,6 @@ ly_declare_aws_library(
     BUILD_DEPENDENCIES 
     BUILD_DEPENDENCIES 
         3rdParty::AWSNativeSDK::GameLift
         3rdParty::AWSNativeSDK::GameLift
         3rdParty::AWSNativeSDK::Core
         3rdParty::AWSNativeSDK::Core
-        3rdParty::AWSNativeSDK::Dependencies
 )
 )
 
 
 #### AWSClientAuth ####
 #### AWSClientAuth ####
@@ -333,7 +264,7 @@ ly_declare_aws_library(
         3rdParty::AWSNativeSDK::CognitoIdp
         3rdParty::AWSNativeSDK::CognitoIdp
         3rdParty::AWSNativeSDK::IdentityManagement
         3rdParty::AWSNativeSDK::IdentityManagement
         3rdParty::AWSNativeSDK::STS
         3rdParty::AWSNativeSDK::STS
-        3rdParty::AWSNativeSDK::Dependencies
+        3rdParty::AWSNativeSDK::Core
 )
 )
 
 
 
 
@@ -346,7 +277,6 @@ ly_declare_aws_library(
         3rdParty::AWSNativeSDK::Lambda
         3rdParty::AWSNativeSDK::Lambda
         3rdParty::AWSNativeSDK::S3
         3rdParty::AWSNativeSDK::S3
         3rdParty::AWSNativeSDK::Core
         3rdParty::AWSNativeSDK::Core
-        3rdParty::AWSNativeSDK::Dependencies
 )
 )
 
 
 
 

+ 10 - 3
package-system/AWSNativeSDK/build_AWSNativeSDK_linux.sh

@@ -26,6 +26,10 @@ fi
 
 
 src_path=temp/src
 src_path=temp/src
 bld_path=temp/build
 bld_path=temp/build
+inst_path=temp/install
+
+echo "Command: rm -rf $inst_path"
+rm -rf $inst_path || (echo "Command: rm -rf $inst_path failed" ; exit 1)
 
 
 configure_and_build() {
 configure_and_build() {
     build_type=$1
     build_type=$1
@@ -37,18 +41,21 @@ configure_and_build() {
     fi
     fi
 
 
     echo "CMake Configure $build_type $lib_type"
     echo "CMake Configure $build_type $lib_type"
-    CC=/usr/lib/llvm-6.0/bin/clang CXX=/usr/lib/llvm-6.0/bin/clang++ cmake -S "$src_path" -B "$bld_path/${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" \
           -G "Unix Makefiles" \
           -DTARGET_ARCH=LINUX \
           -DTARGET_ARCH=LINUX \
           -DCMAKE_CXX_STANDARD=17 \
           -DCMAKE_CXX_STANDARD=17 \
+          -DCPP_STANDARD=17 \
+          -DCMAKE_C_FLAGS="-fPIC" \
+          -DCMAKE_CXX_FLAGS="-fPIC" \
           -DENABLE_TESTING=OFF \
           -DENABLE_TESTING=OFF \
           -DENABLE_RTTI=ON \
           -DENABLE_RTTI=ON \
           -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=$build_type \
-          -DCMAKE_INSTALL_BINDIR="bin/$build_type" \
-          -DCMAKE_INSTALL_LIBDIR="lib/$build_type" || (echo "CMake Configure $build_type $lib_type failed" ; exit 1)
+          -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}"
     echo "CMake Build $build_type $lib_type to $bld_path/${build_type}_${lib_type}"
     cmake --build "$bld_path/${build_type}_${lib_type}" --config $build_type -j 12 || (echo "CMake Build $build_type $lib_type to $bld_path/${build_type}_${lib_type} failed" ; exit 1)
     cmake --build "$bld_path/${build_type}_${lib_type}" --config $build_type -j 12 || (echo "CMake Build $build_type $lib_type to $bld_path/${build_type}_${lib_type} failed" ; exit 1)

+ 2 - 1
package-system/AWSNativeSDK/build_config.json

@@ -58,7 +58,8 @@
       },
       },
       "Linux":{
       "Linux":{
          "Linux":{
          "Linux":{
-            "package_version":"1.7.167-rev6",
+            "git_tag":"1.9.50",
+            "package_version":"1.9.50-rev1",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "cmake_find_source":"FindAWSNativeSDK.cmake.Linux",
             "custom_build_cmd": [
             "custom_build_cmd": [
                "./build_AWSNativeSDK_linux.sh"
                "./build_AWSNativeSDK_linux.sh"

+ 7 - 13
package-system/AWSNativeSDK/install_AWSNativeSDK_linux.sh

@@ -24,38 +24,32 @@ mkdir -p $out_lib_path/Release
 copy_shared_and_static_libs() {
 copy_shared_and_static_libs() {
     local bld_type=$1
     local bld_type=$1
     echo "Copying shared .so to $out_bin_path/$bld_type"
     echo "Copying shared .so to $out_bin_path/$bld_type"
-    cp -f "$inst_path/lib/$bld_type/"*".so"* $out_bin_path/$bld_type/ || (echo "Copying shared .so to $out_bin_path/$bld_type failed" ; exit 1)
-
-    echo "Copying 3rdParty shared .so to $out_bin_path/$bld_type"
-    cp -f "$bld_path/${bld_type}_Shared/.deps/install/lib/"*".so"* $out_bin_path/$bld_type/ || (echo "Copying 3rdParty shared .so to $out_bin_path/$bld_type failed" ; exit 1)
+    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"
     echo "Copying static .a to $out_lib_path/$bld_type"
-    cp -f "$inst_path/lib/$bld_type/"*".a" $out_lib_path/$bld_type/ || (echo "Copying static .a to $out_lib_path/$bld_type failed" ; exit 1)
-
-    echo "Copying 3rdParty static .a to $out_lib_path/$bld_type"
-    cp -f "$bld_path/${bld_type}_Static/.deps/install/lib/"*".a" $out_lib_path/$bld_type/ || (echo "Copying 3rdParty static .a to $out_lib_path/$bld_type failed" ; exit 1)
+    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
 # Debug
 echo "CMake Install Debug Shared to $inst_path"
 echo "CMake Install Debug Shared to $inst_path"
-cmake --install $bld_path/Debug_Shared --prefix $inst_path --config Debug || (echo "CMake Install Debug Shared to $inst_path failed" ; exit 1)
+cmake --install $bld_path/Debug_Shared --prefix $inst_path/Debug_Shared --config Debug || (echo "CMake Install Debug Shared to $inst_path failed" ; exit 1)
 
 
 echo "CMake Install Debug Static to $inst_path"
 echo "CMake Install Debug Static to $inst_path"
-cmake --install $bld_path/Debug_Static --prefix $inst_path --config Debug || (echo "CMake Install Debug Static to $inst_path failed" ; exit 1)
+cmake --install $bld_path/Debug_Static --prefix $inst_path/Debug_Static --config Debug || (echo "CMake Install Debug Static to $inst_path failed" ; exit 1)
 
 
 copy_shared_and_static_libs Debug || exit 1
 copy_shared_and_static_libs Debug || exit 1
 
 
 # Release
 # Release
 echo "CMake Install Release Shared to $inst_path"
 echo "CMake Install Release Shared to $inst_path"
-cmake --install $bld_path/Release_Shared --prefix $inst_path --config Release || (echo "CMake Install Release Shared to $inst_path failed" ; exit 1)
+cmake --install $bld_path/Release_Shared --prefix $inst_path/Release_Shared --config Release || (echo "CMake Install Release Shared to $inst_path failed" ; exit 1)
 
 
 echo "CMake Install Release Static to $inst_path"
 echo "CMake Install Release Static to $inst_path"
-cmake --install $bld_path/Release_Static --prefix $inst_path --config Release || (echo "CMake Install Release Static to $inst_path failed" ; exit 1)
+cmake --install $bld_path/Release_Static --prefix $inst_path/Release_Static --config Release || (echo "CMake Install Release Static to $inst_path failed" ; exit 1)
 
 
 copy_shared_and_static_libs Release || exit 1
 copy_shared_and_static_libs Release || exit 1
 
 
 echo "Copying include headers to $out_include_path"
 echo "Copying include headers to $out_include_path"
-cp -f -R "$inst_path/include/"* $out_include_path/ || (echo "Copying include headers to $out_include_path failed" ; exit 1)
+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"
 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)
 cp -f $src_path/LICENSE.txt $TARGET_INSTALL_ROOT/ || (echo "Copying LICENSE.txt to $TARGET_INSTALL_ROOT failed" ; exit 1)

+ 2 - 2
package_build_list_host_linux.json

@@ -4,7 +4,7 @@
     "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": {
     "build_from_source": {
-        "AWSNativeSDK-1.7.167-rev6-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/AWSNativeSDK --platform-name Linux --package-root ../../package-system --clean",
+        "AWSNativeSDK-1.9.50-rev1-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",
         "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",
         "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",
         "freetype-2.10.4.16-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/freetype --platform-name Linux --package-root ../../package-system --clean",
         "freetype-2.10.4.16-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/freetype --platform-name Linux --package-root ../../package-system --clean",
@@ -37,7 +37,7 @@
     },
     },
     "build_from_folder": {
     "build_from_folder": {
         "AWSGameLiftServerSDK-3.4.1-rev1-linux": "package-system/AWSGameLiftServerSDK/linux",
         "AWSGameLiftServerSDK-3.4.1-rev1-linux": "package-system/AWSGameLiftServerSDK/linux",
-        "AWSNativeSDK-1.7.167-rev6-linux": "package-system/AWSNativeSDK-linux",
+        "AWSNativeSDK-1.9.50-rev1-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",
         "freetype-2.10.4.16-linux": "package-system/freetype-linux",
         "freetype-2.10.4.16-linux": "package-system/freetype-linux",