diff options
| author | luwenpeng <[email protected]> | 2024-11-12 10:21:02 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2024-11-12 14:25:36 +0800 |
| commit | 1942f792e7e207cf9ea41cff46744d7c95d01a00 (patch) | |
| tree | 20212846b54fc88b7aeb586b8061138d46d9768d | |
| parent | 37c0b1b783f53ba7dab1658315019805bcc415c8 (diff) | |
TSG-23595 PacketAdapter适配AArch64架构v2.1.0-20241112
| -rw-r--r-- | .gitlab-ci.yml | 138 | ||||
| -rw-r--r-- | ci/travis.sh | 7 | ||||
| -rw-r--r-- | cmake/FindNFNETLINK.cmake | 39 | ||||
| -rw-r--r-- | platform/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | vendor/CMakeLists.txt | 10 |
5 files changed, 134 insertions, 62 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 864ba36..50e8521 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,33 +3,137 @@ 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 + script: + - yum makecache + - ./ci/travis.sh + tags: + - tsg-os-builder-aarch64 + +branch_build_debug_for_el9: + stage: build + extends: .build_by_travis_for_el9 + variables: + BUILD_TYPE: Debug + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +branch_build_release_for_el9: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_el9 + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +develop_build_debug_for_el9: + stage: build + 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 - - dnf --enablerepo=powertools install -y libnetfilter_queue-devel script: - yum makecache - ./ci/travis.sh tags: - share -branch_build_debug_for_centos8: +branch_build_debug_for_el8: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el8 variables: BUILD_TYPE: Debug except: @@ -37,19 +141,19 @@ branch_build_debug_for_centos8: - /^release-.*$/i - tags -branch_build_release_for_centos8: +branch_build_release_for_el8: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el8 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug_for_centos8: +develop_build_debug_for_el8: stage: build - extends: .build_by_travis_for_centos8 + 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: diff --git a/ci/travis.sh b/ci/travis.sh index 3bc250d..accd89e 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -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 diff --git a/cmake/FindNFNETLINK.cmake b/cmake/FindNFNETLINK.cmake deleted file mode 100644 index e0e7742..0000000 --- a/cmake/FindNFNETLINK.cmake +++ /dev/null @@ -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)
\ No newline at end of file diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt index cdbe9f2..429fb45 100644 --- a/platform/CMakeLists.txt +++ b/platform/CMakeLists.txt @@ -1,5 +1,3 @@ -find_package(NFNETLINK REQUIRED) - add_executable(packet_adapter src/system.cpp src/packet_stat.cpp diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 7cff521..cea1615 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -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) |
