TSG-23336 SCE适配AArch64架构

This commit is contained in:
luwenpeng
2024-11-12 09:26:28 +08:00
parent 6aa82aeea6
commit 1372b39994
5 changed files with 142 additions and 37 deletions

View File

@@ -3,17 +3,121 @@ variables:
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/sce"
TESTING_VERSION_BUILD: 0
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_IMAGE_X86_64_EL8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_IMAGE_AARCH64_EL9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
stages:
- build
###############################################################################
# compile use image: build-env:rockylinux
# compile for el9
###############################################################################
.build_by_travis_for_centos8:
image: $BUILD_IMAGE_CENTOS8
.build_by_travis_for_aarch64_el9:
image: $BUILD_IMAGE_AARCH64_EL9
before_script:
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- chmod +x ./ci/travis.sh
script:
- yum makecache
- ./ci/travis.sh
tags:
- tsg-os-builder-aarch64
branch_build_debug_for_aarch64_el9:
stage: build
extends: .build_by_travis_for_aarch64_el9
variables:
BUILD_TYPE: Debug
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
branch_build_release_for_aarch64_el9:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_aarch64_el9
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
develop_build_debug_for_aarch64_el9:
stage: build
extends: .build_by_travis_for_aarch64_el9
variables:
TESTING_VERSION_BUILD: 1
BUILD_TYPE: Debug
#ASAN_OPTION: ADDRESS
PACKAGE: 1
PULP3_REPO_NAME: tsg-testing-aarch64.el9
PULP3_DIST_NAME: tsg-testing-aarch64.el9
artifacts:
name: "sce-develop-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- /^develop-.*$/i
- /^release-.*$/i
develop_build_release_for_aarch64_el9:
stage: build
extends: .build_by_travis_for_aarch64_el9
variables:
TESTING_VERSION_BUILD: 1
#ASAN_OPTION: ADDRESS
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
PULP3_REPO_NAME: tsg-testing-aarch64.el9
PULP3_DIST_NAME: tsg-testing-aarch64.el9
artifacts:
name: "sce-develop-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- /^develop-.*$/i
- /^release-.*$/i
release_build_debug_for_aarch64_el9:
stage: build
variables:
BUILD_TYPE: Debug
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-aarch64.el9
PULP3_DIST_NAME: tsg-stable-aarch64.el9
extends: .build_by_travis_for_aarch64_el9
artifacts:
name: "sce-install-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- tags
release_build_release_for_aarch64_el9:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-aarch64.el9
PULP3_DIST_NAME: tsg-stable-aarch64.el9
extends: .build_by_travis_for_aarch64_el9
artifacts:
name: "sce-install-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- tags
###############################################################################
# compile for el8
###############################################################################
.build_by_travis_for_x86_64_el8:
image: $BUILD_IMAGE_X86_64_EL8
before_script:
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
@@ -25,9 +129,9 @@ stages:
tags:
- share
branch_build_debug_for_centos8:
branch_build_debug_for_x86_64_el8:
stage: build
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
variables:
BUILD_TYPE: Debug
except:
@@ -35,22 +139,21 @@ branch_build_debug_for_centos8:
- /^release-.*$/i
- tags
branch_build_release_for_centos8:
branch_build_release_for_x86_64_el8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
develop_build_debug_for_centos8:
develop_build_debug_for_x86_64_el8:
stage: build
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
variables:
TESTING_VERSION_BUILD: 1
#UPLOAD_SYMBOL_FILES: 1
BUILD_TYPE: Debug
#ASAN_OPTION: ADDRESS
PACKAGE: 1
@@ -64,12 +167,11 @@ develop_build_debug_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
develop_build_release_for_centos8:
develop_build_release_for_x86_64_el8:
stage: build
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
variables:
TESTING_VERSION_BUILD: 1
#UPLOAD_SYMBOL_FILES: 1
#ASAN_OPTION: ADDRESS
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
@@ -83,15 +185,14 @@ develop_build_release_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
release_build_debug_for_centos8:
release_build_debug_for_x86_64_el8:
stage: build
variables:
#UPLOAD_SYMBOL_FILES: 1
BUILD_TYPE: Debug
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
artifacts:
name: "sce-install-$CI_COMMIT_REF_NAME-debug"
paths:
@@ -99,15 +200,14 @@ release_build_debug_for_centos8:
only:
- tags
release_build_release_for_centos8:
release_build_release_for_x86_64_el8:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
#UPLOAD_SYMBOL_FILES: 1
PACKAGE: 1
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
artifacts:
name: "sce-install-$CI_COMMIT_REF_NAME-release"
paths:

View File

@@ -33,8 +33,12 @@ env | sort
: "${COMPILER_IS_GNUCXX:=OFF}"
# Install dependency from YUM
if [[ `arch` =~ 'x86_64' ]];then
yum install -y mrzcpd-corei7
elif [[ `arch` =~ 'aarch64' ]];then
yum install -y mrzcpd
fi
yum install -y libasan
yum install -y mrzcpd-corei7-4.*
yum install -y libmaatframe-devel
yum install -y libMESA_handle_logger-devel
yum install -y libMESA_prof_load-devel
@@ -42,8 +46,8 @@ yum install -y libfieldstat4-devel
yum install -y numactl-libs # required by mrzcpd
yum install -y libibverbs # required by mrzcpd
yum install -y libbreakpad_mini-devel
yum install -y librdkafka-1.2.2.1218b3c
yum install -y librdkafka-devel-1.2.2.1218b3c
yum install -y librdkafka
yum install -y librdkafka-devel
yum install -y libuuid-devel
yum install -y jq
@@ -68,9 +72,3 @@ if [ -n "${PACKAGE}" ]; then
cp ~/rpm_upload_tools.py ./
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
fi
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
rpm -i sce*debuginfo*.rpm
cp /usr/lib/debug/opt/tsg/sce/bin/sce*debug /tmp/sce.debuginfo.${CI_COMMIT_SHORT_SHA}
sentry-cli upload-dif -t elf /tmp/sce.debuginfo.${CI_COMMIT_SHORT_SHA}
fi

View File

@@ -5,7 +5,7 @@
#include "utils.h"
#include "kafka.h"
#include <MESA/MESA_prof_load.h>
#include <MESA/librdkafka/rdkafka.h>
#include <librdkafka/rdkafka.h>
#define MAX_SYMBOL_LEN 128

View File

@@ -3,7 +3,12 @@
###############################################################################
add_library(gmock_marsio gmock_marsio.cpp)
target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/corei7/include)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/corei7/include)
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/aarch64/include)
endif()
###############################################################################
# temp_platform

14
vendor/CMakeLists.txt vendored
View File

@@ -40,10 +40,6 @@ set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/
set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib)
set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include)
add_library(rdkafka SHARED IMPORTED GLOBAL)
set_property(TARGET rdkafka PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/librdkafka.so)
set_property(TARGET rdkafka PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
add_library(MESA_handle_logger SHARED IMPORTED GLOBAL)
set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so)
set_property(TARGET MESA_handle_logger PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
@@ -60,8 +56,14 @@ add_library(maatframe SHARED IMPORTED GLOBAL)
set_property(TARGET maatframe PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libmaatframe.so)
set_property(TARGET maatframe PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR})
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
# MRZCPD
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib)
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include)
endif()
add_library(mrzcpd SHARED IMPORTED GLOBAL)
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)