TSG-23595 PacketAdapter适配AArch64架构
This commit is contained in:
140
.gitlab-ci.yml
140
.gitlab-ci.yml
@@ -3,33 +3,33 @@ variables:
|
||||
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
||||
INSTALL_PREFIX: "/opt/tsg/packet_adapter"
|
||||
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_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
|
||||
- yum install -y elfutils-libelf-devel
|
||||
- dnf --enablerepo=powertools install -y libnetfilter_queue-devel
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
tags:
|
||||
- share
|
||||
- tsg-os-builder-aarch64
|
||||
|
||||
branch_build_debug_for_centos8:
|
||||
branch_build_debug_for_el9:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_centos8
|
||||
extends: .build_by_travis_for_el9
|
||||
variables:
|
||||
BUILD_TYPE: Debug
|
||||
except:
|
||||
@@ -37,19 +37,123 @@ branch_build_debug_for_centos8:
|
||||
- /^release-.*$/i
|
||||
- tags
|
||||
|
||||
branch_build_release_for_centos8:
|
||||
branch_build_release_for_el9:
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
extends: .build_by_travis_for_centos8
|
||||
extends: .build_by_travis_for_el9
|
||||
except:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
- tags
|
||||
|
||||
develop_build_debug_for_centos8:
|
||||
develop_build_debug_for_el9:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_centos8
|
||||
extends: .build_by_travis_for_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: "packet_adapter-develop-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
|
||||
develop_build_release_for_el9:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_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: "packet_adapter-develop-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
|
||||
release_build_debug_for_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_el9
|
||||
artifacts:
|
||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- tags
|
||||
|
||||
release_build_release_for_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_el9
|
||||
artifacts:
|
||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- tags
|
||||
|
||||
###############################################################################
|
||||
# compile for el8
|
||||
###############################################################################
|
||||
|
||||
.build_by_travis_for_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
|
||||
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||
- chmod +x ./ci/travis.sh
|
||||
- yum install -y elfutils-libelf-devel
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
tags:
|
||||
- share
|
||||
|
||||
branch_build_debug_for_el8:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_el8
|
||||
variables:
|
||||
BUILD_TYPE: Debug
|
||||
except:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
- tags
|
||||
|
||||
branch_build_release_for_el8:
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
extends: .build_by_travis_for_el8
|
||||
except:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
- tags
|
||||
|
||||
develop_build_debug_for_el8:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_el8
|
||||
variables:
|
||||
TESTING_VERSION_BUILD: 1
|
||||
BUILD_TYPE: Debug
|
||||
@@ -65,9 +169,9 @@ develop_build_debug_for_centos8:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
|
||||
develop_build_release_for_centos8:
|
||||
develop_build_release_for_el8:
|
||||
stage: build
|
||||
extends: .build_by_travis_for_centos8
|
||||
extends: .build_by_travis_for_el8
|
||||
variables:
|
||||
TESTING_VERSION_BUILD: 1
|
||||
# ASAN_OPTION: ADDRESS
|
||||
@@ -83,14 +187,14 @@ develop_build_release_for_centos8:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
|
||||
release_build_debug_for_centos8:
|
||||
release_build_debug_for_el8:
|
||||
stage: build
|
||||
variables:
|
||||
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_el8
|
||||
artifacts:
|
||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
@@ -98,14 +202,14 @@ release_build_debug_for_centos8:
|
||||
only:
|
||||
- tags
|
||||
|
||||
release_build_release_for_centos8:
|
||||
release_build_release_for_el8:
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
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_el8
|
||||
artifacts:
|
||||
name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
|
||||
@@ -33,8 +33,11 @@ env | sort
|
||||
: "${COMPILER_IS_GNUCXX:=OFF}"
|
||||
|
||||
# Install dependency from YUM
|
||||
#yum install -y libmnl-devel libnfnetlink-devel
|
||||
yum install -y mrzcpd-corei7-4.*
|
||||
if [[ `arch` =~ 'x86_64' ]];then
|
||||
yum install -y mrzcpd-corei7
|
||||
elif [[ `arch` =~ 'aarch64' ]];then
|
||||
yum install -y mrzcpd
|
||||
fi
|
||||
yum install -y numactl-devel
|
||||
yum install -y libfieldstat4-devel
|
||||
yum install -y libMESA_handle_logger-devel
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
# - Find nfnetlinkDaemon
|
||||
# Find the nfnetlink daemon library
|
||||
#
|
||||
# This module defines the following variables:
|
||||
# NFNETLINK_FOUND - True if library and include directory are found
|
||||
# If set to TRUE, the following are also defined:
|
||||
# NFNETLINK_INCLUDE_DIRS - The directory where to find the header file
|
||||
# NFNETLINK_LIBRARIES - Where to find the library file
|
||||
#
|
||||
# For conveniance, these variables are also set. They have the same values
|
||||
# than the variables above. The user can thus choose his/her prefered way
|
||||
# to write them.
|
||||
# NFNETLINK_LIBRARY
|
||||
# NFNETLINK_INCLUDE_DIR
|
||||
#
|
||||
# This file is in the public domain
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(NFNETLINK libnfnetlink)
|
||||
|
||||
if(NOT NFNETLINK_FOUND)
|
||||
find_path(NFNETLINK_INCLUDE_DIRS NAMES nlibnfnetlink/libnfnetlink.h
|
||||
DOC "The nfnetlink include directory")
|
||||
|
||||
find_library(NFNETLINK_LIBRARIES NAMES libnfnetlink
|
||||
DOC "The nfnetlink library")
|
||||
|
||||
# Use some standard module to handle the QUIETLY and REQUIRED arguments, and
|
||||
# set NFNETLINK_FOUND to TRUE if these two variables are set.
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(NFNETLINK REQUIRED_VARS NFNETLINK_LIBRARIES NFNETLINK_INCLUDE_DIRS)
|
||||
|
||||
if(NFNETLINK_FOUND)
|
||||
set(NFNETLINK_LIBRARY ${NFNETLINK_LIBRARIES})
|
||||
set(NFNETLINK_INCLUDE_DIR ${NFNETLINK_INCLUDE_DIRS})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced(NFNETLINK_INCLUDE_DIRS NFNETLINK_LIBRARIES)
|
||||
@@ -1,5 +1,3 @@
|
||||
find_package(NFNETLINK REQUIRED)
|
||||
|
||||
add_executable(packet_adapter
|
||||
src/system.cpp
|
||||
src/packet_stat.cpp
|
||||
|
||||
10
vendor/CMakeLists.txt
vendored
10
vendor/CMakeLists.txt
vendored
@@ -36,8 +36,14 @@ add_library(fieldstat4 SHARED IMPORTED GLOBAL)
|
||||
set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so)
|
||||
set_property(TARGET fieldstat4 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)
|
||||
|
||||
Reference in New Issue
Block a user